使用 for 循环在 python 中创建一个冗长的变量名列表
Posted
技术标签:
【中文标题】使用 for 循环在 python 中创建一个冗长的变量名列表【英文标题】:Create a lengthy list of variable names in python with for loop 【发布时间】:2021-07-18 15:18:57 【问题描述】:我有一堆名称为Actuals_17, Actuals_18,...Actuals45
的数据框。
我想创建这些变量的列表。我知道它可以通过手动输入来创建:
varlist = [Actuals_17,Actuals_18,Actuals19,Actuals20]
但是,如果变量的数量很大,则不会产生整洁的代码。有没有一种方法可以使 varlist 带有 for 循环?
【问题讨论】:
在创建数据框时可能最容易做到,假设您使用一些通用代码进行创建。 您的数据帧存储在文件中? 是的,我是从文件中读取的 创建许多引用相似对象的相似变量是错误的。您应该首先创建一个数据框列表。 在创建数据框时创建列表。使用actuals.append(...)
代替Actuals_17 = ...
,其中actuals
是您之前创建的列表。
【参考方案1】:
您可以使用python内置的globals()函数,它返回一个表示当前全局符号表的字典。
varlist = [globals()[f'Actuals_i'] for i in range(17, 46)]
【讨论】:
字典是全局符号表以上是关于使用 for 循环在 python 中创建一个冗长的变量名列表的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Python 中创建多个 for 循环列表的递归以获得组合? [复制]
Python:试图从一个寻找可被 3 整除的数字的 for 循环中创建一个逗号分隔的列表