我有两个长度相同的清单:
[1,2,3,4] 和 [a,b,c,d]
[1,2,3,4]
[a,b,c,d]
我想在我有的地方创建字典 {1:a, 2:b, 3:c, 4:d}
{1:a, 2:b, 3:c, 4:d}
最好的方法是什么?
dict(zip([1,2,3,4], [a,b,c,d]))
如果列表很大,则应使用itertools.izip。
itertools.izip
如果键的数量多于值,并且您想为额外的键填写值,则可以使用itertools.izip_longest。
itertools.izip_longest
这里a,b,c,和d是变量-它会正常工作(只要它们被定义),但你可能是指['a','b','c','d'],如果你希望他们为字符串。
a
b
c
d
['a','b','c','d']
zip 从每个可迭代对象中获取第一个项目,并生成一个元组,然后从每个迭代器中获取第二个项目,以此类推。
zip
dict 可以接受一个可迭代的可迭代对象,其中每个内部可迭代对象都有两个项目-然后使用第一个作为关键字,第二个用作每个项目的值。
dict