Python 本身不支持使用重复键创建字典。根据设计,字典将唯一的键与相应的值相关联。
但是,您可以使用某些技术来解决此限制。一种方法是在字典中存储列表或集合。
从集合模块导入的默认字典是为不存在的键返回默认值的字典。您可以初始化默认字典来存储列表或集合,从而允许您将多个值与同一个键关联:
from collections import defaultdict data_dict = defaultdict(list)
要存储与键关联的值,将它们附加到默认字典中的列表中:
regNumber = "ABC234" details = ("Fred Greenside", "2345", "AgHort_Parking") data_dict[regNumber].append(details)
这里是修改后的您的代码版本,使用默认字典来存储注册号及其关联数据:
from collections import defaultdict data_dict = defaultdict(list) with open("ParkingData_Part3.txt") as file: data_list = [lines.split(",") for lines in file.readlines()] for line in data_list: regNumber = line[0] name = line[1] phoneExtn = line[2] carpark = line[3].strip() details = (name, phoneExtn, carpark) data_dict[regNumber].append(details) print(data_dict)
此代码将创建一个字典,其中注册号是键,每个键映射到关联值列表。
以上是如何在 Python 字典中存储重复的键?的详细内容。更多信息请关注PHP中文网其他相关文章!