首页 > 解决方案 > 如何将字符或数字添加到python中的变量?

问题描述

我有一些清单,例如:

all0 = [['mortem' 'cliffi' 'gear' 'lerp' 'control']]
all1 = [['video' 'player' 'stori' 'book' 'think' 'narr' 'kill']]  

我想把它打印出来

 num = 0
 print(all+num)

但它没有用。如何在变量名中添加字符或数字?

标签: pythonpython-3.xstringvariablesadd

解决方案


嗯,我很确定你不需要也不需要它,但是 Python 提供了计算变量名的功能。简单地说,它是一个相当高级的功能,通常的方法是使用映射(dict)或序列(listtuple)容器。

在这里,您将使用:

all = []
all.append([['mortem' 'cliffi' 'gear' 'lerp' 'control']])
all.append([['video' 'player' 'stori' 'book' 'think' 'narr' 'kill']])

num = 0
print(all[0])

顺便说一句,这种语法很奇怪,因为您本质上是在连接相邻的文字字符串...

但是,如果您真的非常需要它,您可以构建一个变量插值器:

def getvar(name):
    if name in locals():
        return locals()[name]
    elif name in globals():
        return globals()[name]
    else:
        raise NameError(repr(name) + ' is not defined')

然后你可以这样做:

all0 = [['mortem' 'cliffi' 'gear' 'lerp' 'control']]
all1 = [['video' 'player' 'stori' 'book' 'think' 'narr' 'kill']]

num = 0

print(getvar("all%d" % num))

并按预期获得:

[['mortemcliffigearlerpcontrol']]

推荐阅读