我有两个列表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
@eguaio如果它们具有相同的索引。例如,如果元素7在L1中重复3次(例如L1 [2] == L1 [7] == L1 [8] = 7),那么我希望键7的值为L2 [2] + L2 [7] + L2 [8] – eLearner