dict附加键和值列表

时间:2013-06-01 15:13:47

标签: python list dictionary

是否有一种有效的方法可以从键列表和值列表中以相同的顺序在dict中追加元素?

现在,我在列表中的元素上迭代for循环,然后执行

dictio[key] = val

每一对。有内置功能吗?我在3.3。

2 个答案:

答案 0 :(得分:3)

是的,请使用zip()

dictio = dict(zip(keys, values))

或使用.update()将项目添加到现有字典中:

dictio.update(zip(keys, values))

zip()函数将两个迭代配对成一系列元组,dict()dict.update()都快乐地变成键值对:

>>> keys = ('foo', 'bar')
>>> values = ('spam', 'eggs')
>>> list(zip(keys, values))
[('foo', 'spam'), ('bar', 'eggs')]
>>> dict(zip(keys, values))
{'bar': 'eggs', 'foo': 'spam'}

答案 1 :(得分:1)

你可以使用dict理解:

dictio.update({k:v for k,v in zip(keys, values)})