【发布时间】:2016-06-15 08:59:26
【问题描述】:
我有两个列表 L1 和 L2。 L1 中的每个唯一元素都是在第二个列表 L2 中具有值的键。我想创建一个字典,其中的值是 L2 中与 L1 中的同一键相关联的元素的总和。
我做了以下,但我对这段代码并不感到自豪。有没有更简单的pythonic方法?
L = [2, 3, 7, 3, 4, 5, 2, 7, 7, 8, 9, 4] # as L1
W = range(len(L)) # as L2
d = { l:[] for l in L }
for l,w in zip(L,W): d[l].append(w)
d = {l:sum(v) for l,v in d.items()}
编辑:
问:我如何知道 L2 的哪些元素与 L1 的给定关键元素相关联?
答:如果它们具有相同的索引。例如,如果元素 7 在 L1 中重复 3 次(例如 L1[2] == L1[7] == L1[8] = 7),那么我希望键 7 的值是 L2[2]+ L2[7]+L2[8]
【问题讨论】:
-
你如何知道 L2 的哪些元素与 L1 的给定关键元素相关联?
-
@eguaio 如果它们具有相同的索引。例如,如果元素 7 在 L1 中重复 3 次(例如 L1[2] == L1[7] == L1[8] = 7),那么我希望键 7 的值是 L2[2]+ L2[7]+L2[8]
标签: python list dictionary