我想在python中使用for循环打印出名为a1,a2,a3,...等的变量。
有没有办法实现这个?例如,
a0 = 3
a1 = 4
a2 = 5
for i in range(3):
tmps = 'a' + '%d' %i
print(tmps)
这只会打印出来
a0
a1
a2
我希望我的代码可以打印出来 3 4 5
答案 0 :(得分:4)
您不应该以这种方式组装变量名称,但可以将变量放在集合(列表)中,然后打印它们:
a0 = 3
a1 = 4
a2 = 5
a = [a0, a1, a2]
for values in a: # this iterates over the values in a
print(values)
答案 1 :(得分:0)
如果您不想手动列出所有变量列表,并且变量名称一致,您可以使用以下两种方式
方法1:
for each in locals():
if each[0] =="a" and each[1:].isalnum():
print(locals()[each])
方法2: 如果你想让它成为你在代码模板中显示的for循环,你可以执行以下操作
a0 = 3
a1 = 4
a2 = 5
for i in range(3):
tmps = 'a' + '%d' %i
print(eval(tmps))
eval的作用是评估一个字符串并返回它的值。要了解有关eval的更多信息,请查看此Link