Python中collections模块如何使用
发表于:2024-11-18 作者:千家信息网编辑
千家信息网最后更新 2024年11月18日,Python中collections模块如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。collections模块
千家信息网最后更新 2024年11月18日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安全错误
数据库的锁怎样保障安全
fontier期刊数据库
深圳门禁软件开发怎么样
如何增加网络安全
web服务器 隔离
上海诚信网络技术咨询联系人
学软件开发廊坊
哪里的公司有软件开发工作室
csgo怎么建立自己的服务器
一师健康行授权服务器异常为什么
数据库占内存
东莞市鑫泽网络技术有限公司
网络安全服务怎么注册
asp数据库路径
软件开发的公司名
.net软件开发顶岗报告
妇女网络安全宣传
宜宾网络技术培训
计算机网络技术与应用大纲
电脑远程服务器存储空间不足
交警网络安全管理制度
数据库系统优点
华为服务器可以用其它硬盘吗
我的世界把刀剑服务器
美国博士毕业软件开发
北京车车网络技术巡核员
网络安全教育知识ppt
连接远程数据库失败 无法打开
武汉应用软件开发
移动官网对接软件开发
保定软件开发多少钱