Python 统计列表里面有多少个元素
统计a,b,c 出现的次数,及除了a,b,c以外的其他元素出现的总和。(不一定只有d,f,g这几种种元素) 展开
可以使用collections模块下的Counter类来进行统计,代码如下:
from collections import Counter
arr = ['a', 'a', 'b', 'b', 'c', 'c', 'a', 'c', 'd', 'f', 'g']
result = Counter(arr)
print(result)
运行程序后,输出结果:Counter({'a': 3, 'c': 3, 'b': 2, 'd': 1, 'g': 1, 'f': 1})。
结果以字典key-value形式直接显示出a、b、c、d等所有元素出现的个数。key是出现的元素,value是元素出现的个数。
扩展资料
python中Counter库的介绍:
collections 包下的 Counter 也是一个很有用的工具类,它可以自动统计容器中各元素出现的次数。
Counter 的本质就是一个特殊的 dict,它的 key 是包含的元素,value 是 key 的个数。如果通过 Counter 并不存在的 key 访问 value,将会输出 0(因为key 出现了 0 次)。
Counter 三个常用的方法:
1、elements():该方法返回该 Counter 所包含的全部元素组成的迭代器。
2、most_common([n]):该方法返回 Counter 中出现最多的 n 个元素。
3、subtract([iterable-or-mapping]):该方法计算 Counter 的减法,其实就是计算减去之后各元素出现的次数。
arr = ['a','a','b','b','c','c','a','c','d','f','g']
a_count=len([i for i in arr if i=='a'])
b_count=len([i for i in arr if i=='b'])
c_count=len([i for i in arr if i=='c'])
others_count=len(arr)-a_count-b_count-c_count
print("a出现的次数",a_count)
print("b出现的次数",b_count)
print("c出现的次数",c_count)
print("其他字母出现的次数",others_count)