python - Python。向字典中的键添加多个项目

标签 python dictionary

我正在尝试从一组唯一的值构建一个字典,以用作键和提供项目的元组的压缩列表。

set = ("a","b","c")

lst 1 =("a","a","b","b","c","d","d")
lst 2 =(1,2,3,3,4,5,6,)

zip = [("a",1),("a",2),("b",3),("b",3),("c",4),("d",5)("d",6)

dct = {"a":1,2 "b":3,3 "c":4 "d":5,6}

但我得到:
dct = {"a":1,"b":3,"c":4,"d":5}

到目前为止,这是我的代码:
#make two lists 

rtList = ["EVT","EVT","EVT","EVT","EVT","EVT","EVT","HIL"]
raList = ["C64G","C64R","C64O","C32G","C96G","C96R","C96O","RA96O"]

# make a set of unique codes in the first list

routes = set()
for r in rtList:
    routes.add(r)

#zip the lists

RtRaList = zip(rtList,raList)
#print RtRaList

# make a dictionary with list one as the keys and list two as the values

SrvCodeDct = {}

for key, item in RtRaList:
    for r in routes:
        if r == key:
            SrvCodeDct[r] = item

for key, item in SrvCodeDct.items():
    print key, item

最佳答案

您不需要任何。只需使用collections.defaultdict即可。

import collections

rtList = ["EVT","EVT","EVT","EVT","EVT","EVT","EVT","HIL"]
raList = ["C64G","C64R","C64O","C32G","C96G","C96R","C96O","RA96O"]

d = collections.defaultdict(list)

for k,v in zip(rtList, raList):
    d[k].append(v)

关于python - Python。向字典中的键添加多个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40794653/

相关文章:

python - 添加一个在其他人共享 x 轴时不共享 x 轴的子图

java - 根据另一个列表的顺序对列表进行排序

安卓蓝牙设备定位器

允许可选参数的 Python switch case

python - flask & jinja2 & 0 & 无

Java着色字符GUI

python - 如何调用实例列表中的特定方法(使用 map )?

c# - 从文本文件中获取数据并将其输入二维数组

python日志记录不释放文件

Python DBF 模块正在向表导出添加额外的行