Python中使用Counter进行字典创建以及key数量统计
来源:互联网 发布:剑灵茱莉亚身体数据 编辑:程序博客网 时间:2024/05/16 06:34
这里的Counter是指collections中的Counter,通过Counter可以实现字典的创建以及字典key出现频次的统计。然而,使用的时候还是有一点需要注意的小事项。使用Counter创建字典通常有4种方式。其中,第一种方式是不带任何参数创建一个空的字典。剩下的三种分别在下面通过简单的代码进行演示。
创建方法2示范代码:
need python.'
cell1 =(2,2,3,5,5,4,3,2,1,1,2,3,3,2,2)
list1 =[2,2,3,5,5,4,3,2,1,1,2,3,3,2,2]
c1 = Counter(str1)
c2 =Counter(cell1)
c3 =Counter(list1)
print('c1is:'),c1.items()
print('c2is:'),c2.items()
print('c3is:'),c3.items()
运行结果如下:
E:\WorkSpace\05_数据分析\01_利用Python进行数据分析\第02章_引言>pythoncounter.py
c1 is: [(' ', 5),('e', 3), ('d', 1), ('f', 1), ('i', 2), ('h', 2), ('l', 1), ('o', 3), (',', 1),('p', 1), ('s', 2), ('r', 1), ('u', 1), ('t', 2), ('.', 1), ('y', 2), ('n', 2)]
c2 is: [(1, 2),(2, 6), (3, 4), (4, 1), (5, 2)]
c3 is: [(1, 2),(2, 6), (3, 4), (4, 1), (5, 2)]
这三种创建方法都属于一类,只要是传入的对象是一个可迭代的对象都能够通过Counter构建出一个字典。
构建方法3示范代码:
from collectionsimport Counter
d1 ={'apple':5,'pear':2,'peach':3}
c1 = Counter(d1)
print(c1.items())
程序的运行结果如下:
E:\WorkSpace\05_数据分析\01_利用Python进行数据分析\第02章_引言>pythonexp1.py
[('pear', 2),('apple', 5), ('peach', 3)]
第4中构建方法示范代码如下:
from collectionsimport Counter
c1 = Counter(apple= 7,xiaomi = 5,oppo = 9)
print(c1.items())
程序运行结果如下:
E:\WorkSpace\05_数据分析\01_利用Python进行数据分析\第02章_引言>pythonexp2.py
[('xiaomi', 5),('oppo', 9), ('apple', 7)]
其实在一定程度上,第三种方式跟一般的字典也就没太大差异了,那么这个Counter构造的对象又有什么不同呢?其实,这里面多了一个统计的通能。举例用的简化代码如下:
from collectionsimport Counter
str1 = 'Life isshort, you need python.'
c1 = Counter(str1)
print(c1.items())
print(c1['i'])
print(c1['e'])
print(c1.most_common(5))
运行结果如下:
E:\WorkSpace\05_数据分析\01_利用Python进行数据分析\第02章_引言>pythonexp3.py
[(' ', 5), ('e',3), ('d', 1), ('f', 1), ('i', 2), ('h', 2), ('L', 1), ('o', 3), (',', 1), ('p',1), ('s', 2), ('r', 1), ('u', 1), ('t', 2), ('.', 1), ('y', 2), ('n', 2)]
2
3
[(' ', 5), ('e',3), ('o', 3), ('i', 2), ('h', 2)]
从以上结果可以看出,通过这种方法构建的对象不仅能够具有字典的属性,同时还可以统计key的数目并且通过相应的方法输出最高几项的清单。
除此之外,还可以对生成的对象进行修改,比如修改其value。如果key不存在的时候统计数为0,但是统计数为0并不意味着没有这个key。也就是说不能够通过赋值为0的方式删除其中的元素。具体的演示代码如下:
from collectionsimport Counter
str1 = 'Life isshort, you need python.'
c1 = Counter(str1)
print(c1.items())
print(c1['i'])
c1['i'] = 0
print(c1['i'])
print(c1.items())
del c1['i']
print(c1.items()
程序运行结果:
E:\WorkSpace\05_数据分析\01_利用Python进行数据分析\第02章_引言>pythonexp3.py
[(' ', 5), ('e',3), ('d', 1), ('f', 1), ('i', 2), ('h', 2), ('L', 1), ('o', 3), (',', 1), ('p',1), ('s', 2), ('r', 1), ('u', 1), ('t', 2), ('.', 1), ('y', 2), ('n', 2)]
2
0
[(' ', 5), ('e',3), ('d', 1), ('f', 1), ('i', 0), ('h', 2), ('L', 1), ('o', 3), (',', 1), ('p',1), ('s', 2), ('r', 1), ('u', 1), ('t', 2), ('.', 1), ('y', 2), ('n', 2)]
[(' ', 5), ('e',3), ('d', 1), ('f', 1), ('h', 2), ('L', 1), ('o', 3), (',', 1), ('p', 1), ('s',2), ('r', 1), ('u', 1), ('t', 2), ('.', 1), ('y', 2), ('n', 2)]
- Python中使用Counter进行字典创建以及key数量统计
- Python:使用Counter进行计数统计及collections模块
- Python中Counter计数统计
- python 使用Counter统计列表中元素的频度
- 使用Python统计字符串中单词数量
- Python使用collections的Counter类对字符串、列表、字典的数据元素进行计数
- python使用Collections.Counter进行计数
- [python]使用Counter统计文章中出现频率最高的单词
- python 按字典value排序以及按list中字典的某个key的value排序
- 005_004 Python 统计值 并按照次数排序 可以通过字典的值对key进行排序
- python中counter()记数
- python字典使用法 统计具有相同value的key
- 字典列表 统计重复字典的数量
- Python中使用defaultdict初始化字典以及应用
- python 字典的key与value进行交换
- python 字典key越界
- iOS 字典中遍历出的key 如何进行排序
- iOS中对字典的key进行排序
- nagle算法,解决网络拥塞问题
- 正确使用react的refs/props/state及其它
- 阿里二面&listview的setTag()问题
- 分块
- 启用Tomcat时,报异常:failed to connect to localhost/127.0.0.1 (port 8080)
- Python中使用Counter进行字典创建以及key数量统计
- bzoj 3631 树链剖分+差分
- Spring随笔(IOC/DI 及注入方式)
- C/C++函数编译后的样子
- how to build winSCP5.5.6
- 浮生事、”无根树"、事正宗、花正幽——一道“无根树”BFS
- 添加、删除桌面快捷图标
- 装系统总结
- 人体红外报警实验