Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中向变量添加字符或数字?_Python_Python 3.x_String_Variables_Add - Fatal编程技术网

如何在python中向变量添加字符或数字?

如何在python中向变量添加字符或数字?,python,python-3.x,string,variables,add,Python,Python 3.x,String,Variables,Add,我有一些清单,如: all0 = [['mortem' 'cliffi' 'gear' 'lerp' 'control']] all1 = [['video' 'player' 'stori' 'book' 'think' 'narr' 'kill']] 我想把它打印出来,就像 num = 0 print(all+num) 但它不起作用。 如何在变量名中添加字符或数字?您可以使用eval eval('print(all{})'.format(num)) 但这真是糟糕的风格。不要这样

我有一些清单,如:

all0 = [['mortem' 'cliffi' 'gear' 'lerp' 'control']]
all1 = [['video' 'player' 'stori' 'book' 'think' 'narr' 'kill']]  
我想把它打印出来,就像

 num = 0
 print(all+num)
但它不起作用。 如何在变量名中添加字符或数字?

您可以使用eval

eval('print(all{})'.format(num))
但这真是糟糕的风格。不要这样做。您应该重构代码并使用for循环遍历列表,例如

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

for l in all:
    print(l)

撇开一个想法有多糟糕可能真的很糟糕不谈,变量名只是Python dict中的关键。一行解决方案可能是:

vars[new_name]=vars.popold_name

对于全局变量,以及

varssome_obj[新名称]=varssome_obj.popold_名称


对于某些对象的变量。

嗯,我很确定您不需要也不真正想要它,但是Python提供了计算变量名的功能。简单地说,这是一个相当高级的特性,通常的方法是使用映射dict或序列列表或元组容器

在这里,您可以使用:

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

num = 0
print(all[0])
顺便说一句,这种语法很奇怪,因为您实际上是在连接相邻的literal字符串

但如果你真的需要它,你可以建立一个变量插值器:

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']]
为什么不使用键0、1、。。。然后,您可以使用num轻松地从字典中获取和设置值。尽管要记住,所有这些都是一个内置函数。