在Python中使用列表中的名称在循环中创建新变量

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)

Ash*_*ary 9

我认为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)


Ry-*_*Ry- 5

可以使用globals()

globals()[e] = age[index]
Run Code Online (Sandbox Code Playgroud)

但一般来说,您不想这样做;有字典就方便多了。

people = {
    'mike': 20,
    'john': 32,
    'steve': 19
}
Run Code Online (Sandbox Code Playgroud)