Python - 如何统计序列中元素出现的频次

1.用内置的count()方法,该方法返回子字符串在字符串中出现的次数(同样适用于列表)
2.用collections模块的Counter类

示例:
 1 from collections import Counter
 2  
 3 # ================================================================================================== #
 4 # 获取字符串string中a出现的次数
 5 string = "abcdeabcabe"
 6  
 7 # 1. 用内置的count()方法
 8 a1 = string.count('a')  # 3
 9  
10 # 2. 用collections模块的Counter类
11 # 实例化
12 c = Counter(string)   # Counter对象 Counter({'a': 3, 'b': 3, 'c': 2, 'e': 2, 'd': 1})
13 # 将Counter对象转化成字典,其中元素是key,元素出现的频次为value
14 c_dict = dict(c)  # {'a': 3, 'b': 3, 'c': 2, 'd': 1, 'e': 2}
15 # 获取a出现的次数
16 a2 = c_dict['a']  # 3
17  
18 # ================================================================================================== #
19 # 获取列表l中元素b出现的频次
20 l = ['a', 'b', 'a', 'c', 'b', 'a']
21  
22 # 1. 用内置的count()方法
23 b1 = l.count('b')  # 2
24  
25 # 2. 用collections模块的Counter类
26 # 实例化
27 c2 = Counter(l)   # Counter对象 Counter({'a': 3, 'b': 2, 'c': 1})
28 # 将Counter对象转化成字典,其中元素是key,元素出现的频次为value
29 c_dict2 = dict(c2)  # {'a': 3, 'b': 2, 'c': 1}
30 # 获取a出现的次数
31 b2 = c_dict2['b']  # 2

 

posted @ 2018-12-21 10:43  KS毛毛虫  阅读(2026)  评论(0编辑  收藏  举报