在另一个列表中添加一个列表的值的出现

时间:2019-10-16 02:43:51

标签: python

我正在尝试将与另一个列表中的值匹配的列表中的值相加。我的逻辑如下:

对于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}

谢谢您的帮助!

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)