
在使用 Python 网罗来自不同渠说念的数据,好多皆所以字典的步地存储。将它们并吞、处理是频繁使用的进本操作,在本文中,咱们将先容多种并吞和乞降字典的缺欠。并吞辞书是指波及将多个辞书中的键值对并吞到一个辞书中,合适整合来自不同开始的数据。字典乞降指在并吞字典时对键疏通的相应值相加,合适在处理统计数值数据。使用 "|" 求字典的并集在 Python 3.9 ,引入了一个专用的并集运算符,用于简略并吞字典。dict1 = {"a": 1, "b": 2} dict2 = {"b": 3, "d": 4}dict3 = dict1 | dict2print(dict3) 使用 update() 缺欠并吞字典update() 缺欠组合两个字典,将一个字典中的键值对并吞到另一个字典中。淌若野心字典中已存在键,则更新该键的值。不然,将添加新的键值对。此缺欠不会对键值乞降。dict1 = {'a': 1, 'b': 2}dict2 = {'b': 3, 'd': 4}dict1.update(dict2)print(dict1) # 输出:{'a': 1, 'b': 3, 'd': 4}使用轮回并吞字典轮回迭代两个字典中的边幅并将它们添加到新辞书中。淌若新字典中已存在键,则更新该键的值。dict1 = {'a': 1, 'b': 2}dict2 = {'b': 3, 'd': 4}dict3 = {}for key, value in dict1.items(): dict3[key] = valuefor key, value in dict2.items(): dict3[key] = valueprint(dict3) # 输出:{'a': 1, 'b': 3, 'd': 4}使用解包缺欠并吞字典使用两个星号(**)对字典进行解包并吞,此缺欠不会对疏通键的值乞降。dict1 = {"a": 1, "b": 2} dict2 = {"b": 3, "d": 4}dict3 = {**dict1, **dict2}print(dict3) # 输出:{'a': 1, 'b': 3, 'd': 4}使用字典推导对键值乞降淌若念念并吞两个字典并对疏通的键进行乞降,不错创建两个谄媚的键的并集,并从这些键创建一个新字典。get() 缺欠检索每个键的值,淌若字典中不存在该键,则默许为 0。dict1 = {'a': 1, 'b': 2}dict2 = {'b': 3, 'd': 4}dict3 = {key: dict1.get(key, ) + dict2.get(key, ) for key in set(dict1) | set(dict2)}print(dict3) # 输出:{'a': 1, 'b': 5, 'd': 4}使用 collections 对键值乞降使用 Counter 从每个字典创建计数器。然后,并吞计数器,对疏通键的值乞降。from collections import Counterdict1 = {'a': 1, 'b': 2}dict2 = {'b': 3, 'c': 4}count_dict1 = Counter(dict1)count_dict2 = Counter(dict2)count_dict3 = count_dict1 + count_dict2print(dict(count_dict3)) # 输出:{'a': 1, 'b': 5, 'c': 4}使用 defaultdict 开拓一个字典为默许值,当造访一个不存在的键时开云kaiyun体育,它会复返一个默许值而不是抛出 KeyError 很是。from collections import defaultdictdict1 = {'a': 1, 'b': 2}dict2 = {'b': 3, 'c': 4}dict3 = defaultdict(int, dict1)for key, value in dict2.items(): dict3[key] += valueprint(dict3)
Powered by 开云·综合体育(kaiyun) @2013-2022 RSS地图 HTML地图
