有没有一种方法可以在python中使用for循环在具有相似名称的一组变量之间循环?
一个示例(来自nltk库):
我有一组称为text1,text2,text3,...,text9的变量,我想对所有变量进行某些操作,而不必每次都显式键入其名称,因此,我正在寻找一种循环方法通过他们像这样:
for x in range(1, 9):
text + x.someFunction()
我知道这是不允许的,但是有没有办法做类似的事情?
最佳答案
您可以使用eval:
eval("text" + str(1))
例如,要在地图中加载值:
data = dict()
for x in xrange(1, 9):
key = "text" + str(x)
data[key] = eval(key)
或者,如果您的变量是使用方法
someFunction
的类的对象,则:for x in xrange(1, 9):
cmd = "text" + str(x) + ".someFunction()"
eval(cmd)