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

标签 python python-2.7 dictionary

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

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,而且更丑陋。有这样做的惯用方法吗?

请注意,我可能“已经拥有”该字典,因为我已经在其中设置了一些值。但我可能同样已经拥有它,因为它是 defaultdictdict 的其他扩展。这意味着我不能只使用新值创建一个新字典,然后以某种“理解式”方式将两者结合起来。

最佳答案

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

d.update((extract_the_key(r), extract_the_value(r)) for r in responses)

关于python - 将键/值对列表(或其他迭代器)添加到字典的 Pythonic 方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32370417/

相关文章:

python - PyCharm 不识别字典值类型

python - 将 pandas 数据框拆分为 N 个 block

python - 有敌人射击玩家问题吗?游戏

python - 字节数组和列表的区别

google-app-engine - 具有多个响应消息的谷歌云端点方法

python-2.7 - 我怎样才能在我的 x/ylabel 附近放一个箭头?

python - LabelEncoder 指定 DataFrame 中的类

python - 如何使用 opencv (python) 从 url 读取 gif

java - 内存问题: Storing high volume data in Map

python - 在Python中按值对嵌套字典进行排序,并按另一个值对余数进行排序