Python中collections模块如何使用
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,Python中collections模块如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。collections模块
千家信息网最后更新 2026年10月31日Python中collections模块如何使用
Python中collections模块如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
collections模块是一个不用不知道,一用就上瘾的模块。因为它提供了几种非常方便的数据结构和方法,在有些情况下特别好用。今天给大家总结一下其中的OrderDict和Counter两个方法,在平时我经常用的方法,希望你也能喜欢它。然后还有比如deque,namedtuple,defaultdict等也是很有的方法,了解了以后重点是熟练的使用,灵活的应用到你的具体任务中,是需要掌握的。
1. OrderDict
# Example 1
dict_1 = dict()
dict_1['A'] = "I love machine learning".split(" ")
dict_1['B'] = "I love life too".split(" ")
dict_1['C'] = "which you like and which you like".split(" ")
print("先输出字典:{}".format(dict_1))
for x, y in dict_1.items():
print("然后遍历字典:{}".format((x, y)))
print("dict_1 的类型: {}".format(type(dict_1)))
"""
先输出字典:{'B': ['I', 'love', 'life', 'too'], 'C': ['which', 'you', 'like', 'and', 'which', 'you', 'like'], 'A': ['I', 'love', 'machine', 'learning']}
然后遍历字典:('B', ['I', 'love', 'life', 'too'])
然后遍历字典:('C', ['which', 'you', 'like', 'and', 'which', 'you', 'like'])
然后遍历字典:('A', ['I', 'love', 'machine', 'learning'])
dict_1 的类型:
"""多次执行上面这个程序,你会发现每次输出的顺序都是不一样的,这就是字典的无序性。
from collections import OrderedDict
dict_2 = OrderedDict()
dict_2['A'] = list("machine")
dict_2['B'] = list("learning")
dict_2['C'] = list("math")
print("先输出字典:{}".format(dict_2))
for k, v in dict_2.items():
print("然后遍历字典:{}".format((k, v)))
print("dict_2 的类型: {}".format(type(dict_2)))
"""
先输出字典:OrderedDict([('A', ['m', 'a', 'c', 'h', 'i', 'n', 'e']), ('B', ['l', 'e', 'a', 'r', 'n', 'i', 'n', 'g']), ('C', ['m', 'a', 't', 'h'])])
然后遍历字典:('A', ['m', 'a', 'c', 'h', 'i', 'n', 'e'])
然后遍历字典:('B', ['l', 'e', 'a', 'r', 'n', 'i', 'n', 'g'])
然后遍历字典:('C', ['m', 'a', 't', 'h'])
dict_2 的类型:
"""
多次执行上面这个程序,你会发现每次输出的key都是按照A, B, C顺序输出的。
2. Counter
Counter 是一个统计方法,可以统计频率,比如词频等。看个栗子
# Example 2
from collections import Counter
list_1 = list("machine learning and math")
fre = Counter(list_1)
print(fre)
"""
Counter({'n': 4, 'a': 4, ' ': 3, 'm': 2, 'e': 2, 'i': 2, 'h': 2, 'l': 1, 'c': 1, 'g': 1, 't': 1, 'd': 1, 'r': 1})
"""
for f, v in fre.most_common(n=5):
print("出现次数最多的5个:{}".format((f, v)))
"""
出现次数最多的5个:('n', 4)
出现次数最多的5个:('a', 4)
出现次数最多的5个:(' ', 3)
出现次数最多的5个:('h', 2)
出现次数最多的5个:('e', 2)
"""
然后举个词频统计的小栗子
词频统计就是对于一段文本来说,首先做分词,分词之后统计每个词语出现的次数。今天用jieba分词来做一下,句子摘自朱自清的《荷塘月色》。
直接上代码
import jieba
test_str = "路上只我一个人,背着手踱着。这一片天地好像是我的;我也像超出了平常的自己," \
"到了另一个世界里。我爱热闹,也爱冷静;爱群居,也爱独处。像今晚上,一个人在这" \
"苍茫的月下,什么都可以想,什么都可以不想,便觉是个自由的人。白天里一定要做的事," \
",现 在都可不理。这是独处的妙处,我且受用这无边的荷香月色好了。"
test_str_cut = jieba.lcut(test_str)
word_freq = Counter(test_str_cut)
for w, f in word_freq.most_common(10):
print(w, f)
"""
的 7
我 5
这 4
爱 4
了 3
也 3
一个 3
都 3
独处 2
"""看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
字典
次数
输出
方法
统计
类型
模块
词频
个人
就是
月色
程序
顺序
栗子
帮助
受用
平常
清楚
热闹
熟练
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
保险科技 互联网保险
深圳九邦互联网科技有限公司
广州紫鲸互联网科技有限公司
互联网最新的科技有限公司
科技制造互联网公司
互联网科技金融
青岛互联网科技公司
上海挚品互联网科技
唐信互联网科技
互联网金融 科技创新
互联网科技公司介绍
成都狮子座互联网科技
广西拼得多互联网科技有限公司
互联网和高科技公司
银川新华互联网科技职业技术培训学校图片
贵州叶脉互联网科技有限公司所属行业
移动互联网科技公司
工业互联网展湾科技股份有限公司
青岛易易互联网科技
互联网科技大会大佬
菲比寻常互联网科技
互联网科技美容
互联网科技生活的内容
广西拼得多互联网科技有限公司
互联网科技与管理
湖北码尼互联网科技有限公司电话
崇明区互联网教育科技诚信经营
厦门千工互联网科技有限公司
风投北京互联网科技
马化腾互联网科技教学