在 Python 中创建具有重复键的字典
编程语言中的许多数据结构(例如字典)不支持重复键。但是,在 Python 中,有一些方法可以解决此限制。
考虑以下场景,其中您有一个文本文件,其中包含具有不同值的重复汽车登记号:
EDF768, Bill Meyer, 2456, Vet_Parking TY5678, Jane Miller, 8987, AgHort_Parking GEF123, Jill Black, 3456, Creche_Parking ABC234, Fred Greenside, 2345, AgHort_Parking GH7682, Clara Hill, 7689, AgHort_Parking JU9807, Jacky Blair, 7867, Vet_Parking KLOI98, Martha Miller, 4563, Vet_Parking ADF645, Cloe Freckle, 6789, Vet_Parking DF7800, Jacko Frizzle, 4532, Creche_Parking WER546, Olga Grey, 9898, Creche_Parking HUY768, Wilbur Matty, 8912, Creche_Parking EDF768, Jenny Meyer, 9987, Vet_Parking TY5678, Jo King, 8987, AgHort_Parking JU9807, Mike Green, 3212, Vet_Parking
目标是使用注册号作为键、数据(不包括注册号)作为值来创建字典。然而,Python 中的传统字典在遇到重复项时会覆盖旧值。
使用 defaultdict 处理重复键
一种解决方案是使用集合库中的 defaultdict ,它允许我们存储与键关联的列表或值集。
from collections import defaultdict data_dict = defaultdict(list)
而不是为某个键设置单个值,我们将新值附加到与该键关联的列表中:
data_dict[regNumber].append(details)
这样,字典将包含重复键的值列表,从而有效地允许多个值与同一个键关联。
以上是如何创建具有重复键的 Python 字典?的详细内容。更多信息请关注PHP中文网其他相关文章!