在一组具有相似名称的变量之间循环

2024-04-20 06:17:29 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有一种方法可以在python中使用for循环遍历一组具有类似名称的变量?你知道吗

示例(来自nltk库): 我有一组名为text1,text2,text3,…,text9的变量,我想对所有这些变量执行某些操作,而不必每次都显式键入它们的名称,因此我正在寻找一种方法来循环它们,如下所示:

for x in range(1, 9):
    text + x.someFunction()

我知道这是不允许的,但有没有办法做这样的事?你知道吗


Tags: 方法textin名称示例for键入range
3条回答

试试这个。你知道吗

for v in (text1, text2, text3):
    v.someFunction()

您可以使用eval

for x in range(1, 9):
    eval('text%d' % x).someFunction()

参考:What does Python's eval() do?

您可以使用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)

相关问题 更多 >