如何将遍历列表运行的函数输出赋值给df1、df2这类动态命名变量
问题解答
核心结论
两个需求均可实现,但更推荐使用字典存储结果而非直接生成独立的全局变量。
方案1:字典存储(推荐)
该方案不会污染全局变量空间,后续取值、遍历也更便捷,示例代码如下:
count = 5 df_container = {} for i in range(count): # 按df1、df2...的格式作为字典的key存储结果 df_container[f'df{i+1}'] = Show(target_list[i])
后续需要调用对应结果时,直接通过df_container['df1']、df_container['df2']的方式访问即可。
方案2:动态生成全局变量(仅作参考,不推荐)
如果确实需要生成可直接调用的df1、df2等独立变量,可以借助Python的globals()内置方法实现:
count = 5 for i in range(count): globals()[f'df{i+1}'] = Show(target_list[i])
代码运行完成后,就能直接调用df1到df5的变量使用。
注意事项
- 动态生成全局变量容易引发变量名冲突、排查问题难度高的问题,非特殊需求不建议使用
- 你示例代码中的
list是Python内置关键字,请勿直接作为自定义变量名使用,避免覆盖内置方法引发未知异常
内容的提问来源于stack exchange,提问作者Jean123
相关产品推荐
相关产品推荐

