合并具有重复键的字典
在Python中,字典用于存储键值对的集合。在处理具有重复键的多个字典时,在维护关联值的同时合并它们可能是一个常见的挑战。
实现此目的的一种有效方法是使用 Python 标准库中的 collections.defaultdict。这个专用字典允许使用默认工厂(例如列表)对不存在的键进行值初始化。
考虑以下示例字典:
d1 = {1: 2, 3: 4} d2 = {1: 6, 3: 7}
要合并这些字典,我们可以使用空列表的默认值初始化 defaultdict:
dd = defaultdict(list)
接下来,我们迭代序列中的每个字典及其键值对:
for d in (d1, d2): for key, value in d.items(): dd[key].append(value)
在此循环中,对于遇到的每个键,我们将相应的值附加到默认列表中。这种方法确保所有重复的键都与其关联的值一起处理。
因此,dd 字典将包含与重复键对应的合并值:
print(dd) # Output: defaultdict(<type 'list'>, {1: [2, 6], 3: [4, 7]})
此方法特别有用当处理大量字典或可以有任意数量的输入字典时。它有效地合并所有重复的键,同时将它们的值保留在合并的输出字典中。
以上是如何高效地合并具有重复键的Python字典?的详细内容。更多信息请关注PHP中文网其他相关文章!