有没有一种方法可以在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)

09-10 08:40
查看更多