Python - 我可以使用for循环打印带有连续数字的变量吗?

时间:2018-05-25 12:42:14

标签: python for-loop

我想在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

2 个答案:

答案 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