直接上代码
la = ['name', 'age']
lb = ['charles', 'unknown']
me = dict(zip(la,lb))
补上一点原理
zip()
接受多个iterable,并且返回一个iterator,每次调用next时返回一个元组,元组元素是传入的各个iterable中对应的元素。
>>> names=['Tom','Jerry','Alice']
>>> ages=[5,4,9]
>>> hobbies=['running','eating','sleeping','swimming'] #这里有四个元素,zip返回的iterator只会产生min(len(names),len(ages),len(hobbies))个元组
>>> z = zip(names,ages,hobbies)
>>> next(z)
('Tom', 5, 'running')
>>> next(z)
('Jerry', 4, 'eating')
>>> next(z)
('Alice', 9, 'sleeping')
>>> next(z)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration
>>>
至于dict()
,如果传给它一个元组的iterable,就是类似下面这样处理的:
# dict(arg)
d = {}
for k,v in arg:
d[k] = v