如果我得到3个列表
List1 = ["A","B","C"]
List2 = [1,2,3]
List3 = [4,5,6]
如何分配和汇总List2& List3到List1以便
A = 5
B = 7
c = 9
答案 0 :(得分:5)
使用词典理解:
>>> {key: a + b for key, a, b in zip(List1, List2, List3)}
{'A': 5, 'C': 9, 'B': 7}
我必须承认你的问题令人困惑。也许你正在寻找这个?
>>> List1 = [a + b for a, b in zip(List2, List3)]
>>> List1
[5, 7, 9]
答案 1 :(得分:4)
您可以zip
List2
和List3
获取
[(1, 4), (2, 5), (3, 6)]
然后,您可以使用sum
函数对单个元组进行求和,如下所示
List1 = map(sum, zip(List2, List3))
print List1
# [5, 7, 9]
如果您正在寻找一种方法来创建字典,您只需zip
List1
和我们使用sum
计算的map
值,获得<{1}}
sum
如果我们将其传递给zip(List1, map(sum, zip(List2, List3)))
# [('A', 5), ('B', 7), ('C', 9)]
函数,我们会得到一个新词典:)
dict
答案 2 :(得分:1)
>>> total=[]
>>> List1 = ["A","B","C"]
>>> List2 = [1,2,3]
>>> List3 = [4,5,6]
>>> for i in range(len(List2)):
total.append(List2[i]+List3[i])
>>> total
#[5, 7, 9]
>>>dic={}
>>> for i in range(len(List1)):
dic.update({List1[i]:total[i]})
>>> dic
#{'A': 5,'C': 9,'B': 7}