克服 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 ...
您可能想要创建一个字典以注册号作为键,以数据作为值。然而,简单地使用 dict[key] = value 赋值会覆盖与重复键关联的现有值。
解决方案:defaultdict
集合模块中的 Python 的 defaultdict 允许您来克服这个限制。它是 dict 的子类,为未指定的键提供默认值。
要使用它,只需将:
data_dict = {}
替换为:
from collections import defaultdict data_dict = defaultdict(list)
现在,改为直接赋值,使用append()方法:
data_dict[regNumber].append(details)
这将创建一个关联值的列表使用每个重复的键,有效地存储与这些键相关的所有数据。
示例:
以下代码使用 defaultdict 从示例数据创建字典:
from collections import defaultdict data_dict = defaultdict(list) for line in data_list: regNumber = line[0] # ... (rest of the code unchanged) data_dict[regNumber].append(details)
这将生成一个字典,其中每个注册号(键)映射到关联数据(值)的列表。
以上是Python 的 defaultdict 如何处理字典中的重复键?的详细内容。更多信息请关注PHP中文网其他相关文章!

文章讨论了由于语法歧义而导致的Python中元组理解的不可能。建议使用tuple()与发电机表达式使用tuple()有效地创建元组。(159个字符)

本文解释了Python中的模块和包装,它们的差异和用法。模块是单个文件,而软件包是带有__init__.py文件的目录,在层次上组织相关模块。

文章讨论了Python中的Docstrings,其用法和收益。主要问题:Docstrings对于代码文档和可访问性的重要性。

本文讨论了Python中的“ Pass”语句,该语句是函数和类等代码结构中用作占位符的空操作,允许在没有语法错误的情况下实现将来实现。

文章在Python中讨论 /和//运营商: / for for True Division,//用于地板部门。主要问题是了解它们的差异和用例。Character数量:158


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

Dreamweaver CS6
视觉化网页开发工具

WebStorm Mac版
好用的JavaScript开发工具

Atom编辑器mac版下载
最流行的的开源编辑器

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中