Python 调用字符串形式的变量

Python 调用字符串形式的变量,python,Python,我想调用一个创建为字符串的变量。 比如说, import pandas as pd a_1 = pd.series([1, 2, 3]) a_2 = pd.series([2, 3, 4]) a_3 = pd.series([3, 4, 5]) 现在我想使用for循环调用所有这些变量。比如: for i in range(1,4): print(a_{i}) 我尝试过使用占位符,但它们不适用于系列。正确的方法是将它们添加到列表中 a = [] a.append( pd.series([1

我想调用一个创建为字符串的变量。 比如说,

import pandas as pd
a_1 = pd.series([1, 2, 3])
a_2 = pd.series([2, 3, 4])
a_3 = pd.series([3, 4, 5])
现在我想使用for循环调用所有这些变量。比如:

for i in range(1,4):
  print(a_{i})

我尝试过使用占位符,但它们不适用于系列。

正确的方法是将它们添加到列表中

a = []
a.append( pd.series([1,2,3]) )
a.append( pd.series([2.3.4]) )
a.append( pd.series([3.4.5]) )
...
for row in a:
    print( row)
代码出错的原因相当微妙。请记住,Python变量不知道自己的名称。变量的名称只是为了方便您和解释器。对象都是匿名的。我相信有人会插话指出,通过在
globals()
字典中查找名称,可以做你想做的事情,但这绝对是解决这个问题的错误方法。如果需要集合,则使用集合。

您可以使用dict-

import pandas as pd
my_dict = {'a_1': pd.Series([1, 2, 3])}
my_dict['a_2'] = pd.Series([2, 3, 4])
my_dict['a_3'] = pd.Series([3, 4, 5])
for item, value in my_dict.items():
    print(value)

不要尝试像这样动态地使用变量。使用一个容器,比如列表或dict(或者在本例中是数据帧?)。理解变量不是字符串是非常重要的。变量是源代码的一部分。另外,术语注释中的“call”一词有特定的含义,它并不表示您使用它的意思。您正在尝试“引用”或“访问”变量。