【问题标题】:add occurences of the values of a list in another list [duplicate]在另一个列表中添加列表值的出现[重复]
【发布时间】:2019-10-16 10:49:07
【问题描述】:

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

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

感谢您的帮助!

【问题讨论】:

    标签: python


    【解决方案1】:

    我想这就是你想要的

    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)
    

    【讨论】:

    • 非常感谢超鹏,我花了这么多时间还是想不通。我很感激。
    • 欢迎您@LeLionJaune!我是这个社区的新手,你能告诉我如何让我的答案被接受吗?
    • 我认为其他人对答案的支持取决于它们的好坏、深思熟虑和相关性。不确定它是否被正式接受。再次感谢您的帮助!
    猜你喜欢
    • 2021-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-29
    • 1970-01-01
    相关资源
    最近更新 更多