use*_*868 5 python variables loops list
如何使用列表中的名称创建新变量?这个:
name = ['mike', 'john', 'steve']
age = [20, 32, 19]
index = 0
for e in name:
name[index] = age[index]
index = index+1
Run Code Online (Sandbox Code Playgroud)
当然不行.我该怎么办?
我想做这个:
print mike
>>> 20
print steve
>>> 19
Run Code Online (Sandbox Code Playgroud)
我认为dictionaries更适合这个目的:
>>> name = ['mike', 'john', 'steve']
>>> age = [20, 32, 19]
>>> dic=dict(zip(name, age))
>>> dic['mike']
20
>>> dic['john']
32
Run Code Online (Sandbox Code Playgroud)
但是,如果您仍想动态创建变量,可以使用globals()[]:
>>> for x,y in zip(name, age):
globals()[x] = y
>>> mike
20
>>> steve
19
>>> john
32
Run Code Online (Sandbox Code Playgroud)
您可以使用globals():
globals()[e] = age[index]
Run Code Online (Sandbox Code Playgroud)
但一般来说,您不想这样做;有字典就方便多了。
people = {
'mike': 20,
'john': 32,
'steve': 19
}
Run Code Online (Sandbox Code Playgroud)