【问题标题】:Counting the number of occurrences in Python [duplicate]计算Python中出现的次数[重复]
【发布时间】:2017-12-24 23:45:53
【问题描述】:

我有一个包含012 的列表, 我想创建一个包含每个计数的字典。 这是我的代码,

count_map = {}
for i in my_list:
  if i in count_map:
     count_map[i] += 1
  else:
     count_map[i] = 1

我的问题是如何以更 Python 的方式编写此代码。

【问题讨论】:

  • collections.Counter(my_list)
  • 有没有人能够决定是否应该通过答案或评论来回答此类问题?我还在挣扎
  • 为什么投反对票?
  • 我是 Python 新手,正在尝试学习样式指南,是否仅适用于高级用户?

标签: python


【解决方案1】:

使用字典 cmprh :

l=[1,1,1,2,1,2,5,4,2,5,1,4,5,2]
{i:l.count(i) for i in set(l)}

输出:

{1: 5, 2: 4, 4: 2, 5: 3}

【讨论】:

    【解决方案2】:

    您可以使用collections.Counter 为您执行此操作:

    from collections import Counter
    count_map = Counter(my_list)
    

    您可以使用dict(Counter(my_list)) 将其类型转换为dictionary

    【讨论】:

      【解决方案3】:

      我会以这种方式在一行中增加字典中的值:

      count_map = {}
      for i in my_list:
        count_map[i] = count_map.get(i,0) + 1
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-07-16
        • 1970-01-01
        • 1970-01-01
        • 2018-07-07
        • 2012-06-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多