首页 >后端开发 >Python教程 >如何有效地合并多个可能丢失键的字典?

如何有效地合并多个可能丢失键的字典?

Patricia Arquette
Patricia Arquette原创
2024-12-16 19:56:11145浏览

How Can I Efficiently Merge Multiple Dictionaries with Potentially Missing Keys?

高效聚合多个字典中的数据

使用多个字典时,可能需要合并它们的数据,收集匹配键的值进入一本新词典。当字典中可能包含其他字典中缺少的键时,此任务会带来挑战。

为了有效解决此挑战,我们可以利用集合模块中的 defaultdict。它的工作原理如下:

from collections import defaultdict

d1 = {1: 2, 3: 4}
d2 = {1: 6, 3: 7}

dd = defaultdict(list)

for d in (d1, d2): # Include all dictionaries here
    for key, value in d.items():
        dd[key].append(value)

此代码迭代每个字典,将每个键值对添加到默认字典中。 defaultdict 自动用空列表初始化缺失的键。因此,当在字典中遇到某个键但在之前的字典中没有遇到时,就会为其值创建一个新列表。

dd 中获得的最终结果是一个 defaultdict,其中每个键对应一个值列表从所有输入词典中收集。

print(dd) # Result: defaultdict(<type 'list'>, {1: [2, 6], 3: [4, 7]})

该解决方案可确保来自多个词典的高效且全面的数据聚合,甚至可以处理缺少键的情况。

以上是如何有效地合并多个可能丢失键的字典?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn