如何使用.format()显示实际值?

时间:2017-11-29 12:07:15

标签: python python-3.x list

我列出了具有特定值的a1, a2, ... , a16

例如:

a1 = [1, 17, 33, 49, 65, 81, 97] 

然后我创建了一个使用这些列表的字典:

dct = {'0110': a1} 

然后我尝试使用以下内容创建对变量的引用:

x = 1
x2 = 'a{0}'.format(x)

但是当我print(x2)时,返回的值为a1而不是[1, 17, 33, 49, 65, 81, 97]

如何获得原始a1的实际输出?

1 个答案:

答案 0 :(得分:1)

当您创建变量x2即(x2 = 'a{0}.format(x))时 - 您正在创建一个新变量x2作为包含变量名称字母的字符串,而不是实际参考到变量。

如果您想根据字符串获取变量的值,则需要访问globals()字典

>>> a1 = 1
>>> a2 = 2
>>> mylist = [a1, a2]
>>> x = 1
>>> x2 = 'a{0}'.format(x)
>>> print(x2)
a1
>>> print(globals()[x2])
1