是否有一种有效的方法可以从键列表和值列表中以相同的顺序在dict中追加元素?
现在,我在列表中的元素上迭代for循环,然后执行
dictio[key] = val
每一对。有内置功能吗?我在3.3。
答案 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)})