1

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

现在,我在列表中的元素上迭代一个 for 循环,然后做

dictio[key] = val

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

4

2 回答 2

3

是的,使用zip()

dictio = dict(zip(keys, values))

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

dictio.update(zip(keys, values))

zip()函数将两个 iterables 配对成一个元组序列,它们都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'}
于 2013-06-01T15:14:35.710 回答
1

您可以使用 dict 理解:

dictio.update({k:v for k,v in zip(keys, values)})
于 2013-06-01T15:52:45.600 回答