我有兩個列表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