首页 > 后端开发 > Python教程 > 创建Python字典时如何处理重复键?

创建Python字典时如何处理重复键?

DDD
发布: 2024-12-28 16:34:10
原创
677 人浏览过

How Do I Handle Duplicate Keys When Creating a Python Dictionary?

处理 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
...
EDF768, Jenny Meyer, 9987, Vet_Parking
TY5678, Jo King, 8987, AgHort_Parking
登录后复制

您想要创建一个字典,其中登记号是键每行的数据就是值。但是,使用标准字典语法在遇到重复键时会用新值覆盖旧值。

解决方案:

要处理重复键,一种常见的解决方案是使用集合模块中的defaultdict:

from collections import defaultdict

data_dict = defaultdict(list)
登录后复制

您可以附加新的值,而不是为重复的键分配单个值值到与该键关联的列表:

data_dict[regNumber].append(details)
登录后复制

这将创建一个字典,其中每个键对应一个值列表。例如:

data_dict = {
    'EDF768': [
        ('Bill Meyer', '2456', 'Vet_Parking'),
        ('Jenny Meyer', '9987', 'Vet_Parking'),
    ],
    'TY5678': [
        ('Jane Miller', '8987', 'AgHort_Parking'),
        ('Jo King', '8987', 'AgHort_Parking'),
    ],
    ...
}
登录后复制

这样,您可以通过访问字典中相应的列表来访问与给定注册号关联的所有数据。

以上是创建Python字典时如何处理重复键?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板