【问题标题】:How to get how many of each item is in a list? [duplicate]如何获取列表中每个项目的数量? [复制]
【发布时间】:2014-02-16 02:22:45
【问题描述】:

我试图弄清楚如何获取每个项目中有多少在一个字符串中。比如:

{"harley": ["apple", "apple", "banana"]}

那我怎么得到这个:

Harley has Apple x 2 and Banana x 1

【问题讨论】:

  • 列表也有count的方法,但是如果你想把所有的东西都统计一遍,效率会低很多。
  • 嗯。看起来像 collections.Counter 很适合这个。

标签: python


【解决方案1】:
from collections import Counter

d = {"harley": ["apple", "apple", "banana"]}
for k,v in d.items():
    print("%s has %s" %(k, ', '.join("%s x %s"%(k,v) for k,v in Counter(v).items())))

【讨论】:

    【解决方案2】:
    d = {"harley": ["apple", "apple", "banana"]}
    
    from collections import Counter
    for k,v in d.iteritems():
        print k + ' has ' + ' and '.join('{0} x {1}'.format(name, count) for name, count in Counter(v).iteritems())
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-05
      • 1970-01-01
      • 2015-06-25
      • 1970-01-01
      相关资源
      最近更新 更多