在Python中创建一个包含重复键的字典
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在Python中创建一个包含重复键的字典,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1579字,纯文字阅读大概需要3分钟。
内容图文
![在Python中创建一个包含重复键的字典](/upload/InfoBanner/zyjiaocheng/717/8827fd93abce4a248bfd89a95b487fe3.jpg)
我有以下列表,其中包含具有不同值的重复汽车注册号.我想把它转换成一个字典,接受汽车注册号码的多个键.
到目前为止,当我尝试将列表转换为字典时,它消除了其中一个键.如何制作包含重复键的字典?
清单是:
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
我试过的代码是:
data_dict = {}
data_list = []
def createDictionaryModified(filename):
path = "C:\Users\user\Desktop"
basename = "ParkingData_Part3.txt"
filename = path + "//" + basename
file = open(filename)
contents = file.read()
print contents,"\n"
data_list = [lines.split(",") for lines in contents.split("\n")]
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] = details
print data_dict,"\n"
print data_dict.items(),"\n"
print data_dict.values()
解决方法:
Python词典不支持重复键.一种方法是在字典中存储列表或集合.
实现此目的的一种简单方法是使用defaultdict:
from collections import defaultdict
data_dict = defaultdict(list)
你所要做的就是更换
data_dict[regNumber] = details
同
data_dict[regNumber].append(details)
你会得到一份列表字典.
内容总结
以上是互联网集市为您收集整理的在Python中创建一个包含重复键的字典全部内容,希望文章能够帮你解决在Python中创建一个包含重复键的字典所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。