将两个列表组合到字典中,其中值与单个(通常是重复)键相关

时间:2014-08-27 23:10:14

标签: list dictionary

我已经考虑了一段时间,但是我们还没有能够找到解决方案: 我有两个清单:

  • links = [1,1,1,2,2,2,3,3]
  • 速度= [50,35,20,12,19,16,65,46]

我需要做的是制作一个将这两者结合起来的字典: 字典= {1:[50,35,20],2:[12,19,16],3:[65,46]}

请注意,上面的两个列表都是示例(我的实际列表太大,不适合这里)。但概念是相同的,都是整数列表。但是,链接列表不一定按升序排列。

1 个答案:

答案 0 :(得分:0)

links = [1,1,1,2,2,2,3,3]
speeds = [50, 35, 20, 12, 19, 16, 65, 46]

res = {}
def add(x):
    res[x[0]] = res.get(x[0],[]) + [x[1]]

map(add, zip(links,speeds))
print res # {1: [50, 35, 20], 2: [12, 19, 16], 3: [65, 46]}