将键/值对的列表(或其他迭代器)添加到dict的Pythonic方法是什么?

时间:2015-09-03 08:17:09

标签: python python-2.7 dictionary

要使用从列表,集合,生成器或字典转换的值来构造dict,我使用dict理解。

d = { r['name']:r for r in responses }

这里responses是一个词典,我也可以使用一个列表,例如:

d = { extract_the_key(r):extract_the_value for r in responses }

现在假设我已经有了这个词。如何将相同的键值对添加到我的词典中。

当然,我可以这样做:

for r in responses:
    d[extract_the_key(r)] = extract_the_value(r)

但这似乎不那么Pythonic和普通丑陋。这样做是否有惯用的方式?

请注意,我可能已经拥有了dict,因为我已经在其中设置了一些值。但我可能已经拥有它,因为它是defaultdict或来自dict的其他扩展程序。这意味着我不能只使用新值创建一个新的dict,然后以一种“理解风格”的方式将两者结合起来。

1 个答案:

答案 0 :(得分:1)

您可以使用update字典方法,例如

d.update((extract_the_key(r), extract_the_value(r)) for r in responses)
相关问题