使用 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 中创建列表的单行非嵌套 for 循环

Python:试图从一个寻找可被 3 整除的数字的 for 循环中创建一个逗号分隔的列表

使用 javascript for 循环在一个网页中创建 100 个小 iframe

如何使用多个 for 循环在 php 中创建 sql 语句

在 for 循环中使用 udf 在 Pyspark 中创建多个列