我正在尝试将与另一个列表中的值匹配的列表中的值相加。我的逻辑如下:
对于list1中的所有值,计算list1中每个值在list2中的次数,将它们加在一起并将其附加到字典中。
我当前的代码没有给我期望的东西,并且我不明白为什么。
list1 = [1,2,3,4,5]
list2= [1,1,1,2,2,2,3,3,4,4,5]
count = dict()
for i in list1:
if i in list2:
count[i] = sum(i in list1 for i in list2)
else:
count[i] = 1
print(count)
结果我得到了: {1:11:2:11,3:11,4:11,5:11}
,我正在寻找: {1:3,2:3,3:2,4:2,5:1}
谢谢您的帮助!
答案 0 :(得分:0)
我想这就是你想要的
list1 = [1,2,3,4,5]
list2= [1,1,1,2,2,2,3,3,4,4,5]
count = {i:0 for i in list1}
for i in list2:
if i in list1:
count[i] += 1
print(count)