Python中collections模块如何使用
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,Python中collections模块如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。collections模块
千家信息网最后更新 2025年02月01日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安全错误
数据库的锁怎样保障安全
珠海微信软件开发订制
数据库 .mdf怎么打开
临沧软件开发项目管理培训
南京万米网络技术有限公司
濮阳企业财务软件开发
关于与网络安全手抄报图片
天隆网络技术有限公司
柳州欧莱普软件开发有限公司
宽带账号登录无法连接服务器
竹子互联网科技
东大数据库技术及应用答案
web服务器的安全
方舟生存进化一起玩的服务器
商丘的网络安全吗
江苏服务器应用线束生产厂家
手机网络技术发展
网络安全小常识1000
泰兴巨型网络技术诚信服务
埃迪斯科网络安全研究中心
银行网络安全事件降级
筹建网络安全志愿者职责
大学数据库原理最新版是哪一版
网络安全预判
网络安全该怎么样做
软件开发什么是架构
邢台奇点软件开发有限公司
数据库nsc
网络安全教育准备
服务器的硬盘分区
保险公司做软件开发