Python 在for循环中打印具有编号名称的多个变量

Python 在for循环中打印具有编号名称的多个变量,python,for-loop,variables,Python,For Loop,Variables,如何使用for循环打印多个名为var0、var1、var2、var3等的变量 #these are my variables var0 = 'empty' var1 = 'something' var2 = 'something again' var3 = 'last thing' for x in range(0,4): print(varX) 我希望varX表达式能够一次打印每个变量。首先不要使用编号的变量名;使用列表 vars = ['empty', 'something',

如何使用for循环打印多个名为var0、var1、var2、var3等的变量

#these are my variables
var0 = 'empty'
var1 = 'something'
var2 = 'something again'
var3 = 'last thing'

for x in range(0,4):
    print(varX)

我希望varX表达式能够一次打印每个变量。

首先不要使用编号的变量名;使用列表

vars = ['empty', 'something', 'something again', 'last thing']

for var in vars:
    print(var)
您可以尝试:

#these are my variables
var0 = 'empty'
var1 = 'something'
var2 = 'something again'
var3 = 'last thing'

for x in range(0,4):
    print(eval("var" + str(x)))

更多关于eval的例子。eval所做的是在自身内部执行python代码,正如前面所说的,最好使用数组或字典。但是,您可以通过globals函数实现这一点

对于0,4范围内的x: printglobals['var'+x]
您可以按如下方式创建词典:

d = dict()
d['var0'] = 'empty'
d['var1'] = 'something'
d['var2'] = 'something again'
d['var3'] = 'last thing'
for x in range(0,4):
    print(d["var"+str(x)])

我认为你应该考虑字典对象。问题的可能重复之处在于,我必须使用变量字符串。这里没有充分的理由使用带编号的变量。使用适当的容器,如列表或目录。为什么必须使用字符串?这是家庭作业吗?如果你能在这里解释一下原因,那就太好了,因为使用字符串>变量名真的不是一种python式的做事方式。我希望它能更简单一些。我正在使用NLP库,我必须使用分离变量。@YassineLachgar我想你一定误解了什么。如果库需要字符串,那么库不是接受变量,它只是接受字符串。看到某个库对您传递给它的参数调用eval,我绝对会感到震惊。如果你能用它来修正你的问题,说明你所面临的实际问题,可能会有更好的解决方案。你假设变量是全局变量。