collection模块

一、计数器

Counter是对字典类型的补充,用于追踪值的出现次数,具备字典的所有功能加自己的功能。

1 import collections
2 obj = collections.Counter(‘aadsdfasddfg‘)  #计数
3 print(obj)
4 Counter({‘d‘: 4, ‘a‘: 3, ‘f‘: 2, ‘s‘: 2, ‘g‘: 1})  #输出结果

方法

1.most_common  #取前几位

obj = collections.Counter(‘aadsdfasddfg‘)
ret = obj.most_common(4)  #拿前四位
print(ret)
[(‘d‘, 4), (‘a‘, 3), (‘s‘, 2), (‘f‘, 2)]

2.sorted  #输出每个元素

a = sorted(obj)
print(a)
[‘a‘, ‘d‘, ‘f‘, ‘g‘, ‘s‘]  #输出结果

3.join

a = ‘‘.join(sorted(obj.elements()))
print(a)
aaaddddffgss

4.sum  #统计总数

a = sum(obj.values())
print(a)
12  #输出结果

5.

 1 a = obj[‘a‘]  #统计a的个数
 2 print(a)
 3 3  #输出结果
 4
 5 del obj[‘d‘]  #删除‘d’
 6 b = obj[‘d‘]
 7 print(b)
 8 0  #输出结果
 9
10 d = collections.Counter(‘asdfgjjk‘)  #新添加一个计数器
11 obj.update(d)  #新计数器更新到obj
12 c = obj[‘a‘]
13 print(c)
14 4  #输出结果
15
16 obj.clear()  #清空
17 print(obj)
18
19 e = collections.Counter(‘aaabbc‘)
20 e[‘b‘] -= 2  #其中的‘b‘减去2
21 f = e.most_common()
22 print(f)

6.update  #更新计数器

obj = collections.Counter([‘11‘,‘22‘,‘33‘])
obj.update([‘44‘,‘11‘,‘11‘])
print(obj)
Counter({‘11‘: 3, ‘22‘: 1, ‘44‘: 1, ‘33‘: 1})

7.subtract  #相减

obj.subtract(‘hak‘)
a = obj[‘a‘]
print(a)
2

二、有序字典(orderedDict)

orderdDict是对字典类型的补充,他记住了字典元素添加的顺序

 1 #有序字典
 2
 3 import collections
 4
 5 dic = collections.OrderedDict()
 6 #dic = dict()
 7 dic[‘k1‘] = ‘v1‘
 8 dic[‘k2‘] = ‘v2‘
 9 dic[‘k3‘] = ‘v3‘
10 dic[‘k4‘] = None
11 # dic.setdefault(‘k4‘)  #效果同上
12 print(dic)
13 OrderedDict([(‘k1‘, ‘v1‘), (‘k2‘, ‘v2‘), (‘k3‘, ‘v3‘), (‘k4‘, None)])
14
15 dic.move_to_end(‘k1‘)  #把k1移到最后
16 print(dic)
17 OrderedDict([(‘k2‘, ‘v2‘), (‘k3‘, ‘v3‘), (‘k4‘, None), (‘k1‘, ‘v1‘)])
18
19 dic.popitem()  #把第一个删除
20 print(dic)
21 OrderedDict([(‘k2‘, ‘v2‘), (‘k3‘, ‘v3‘), (‘k4‘, None)])
22
23 dic.update({‘k1‘:‘v111‘,‘k10‘:‘v10‘})  #更新
24 print(dic)
25 OrderedDict([(‘k2‘, ‘v2‘), (‘k3‘, ‘v3‘), (‘k4‘, None), (‘k1‘, ‘v111‘), (‘k10‘, ‘v10‘)])
时间: 2024-10-10 21:46:34

collection模块的相关文章

python collection模块中几种数据结构(Counter、OrderedDict、namedtup)

collection模块中有几种数据结构我们可能用得到. Counter是字典的子类,负责计数的一个字典,支持 + 加法 - 减法 & 求公共元素 | 求并集 print('Counter类型的应用') c = Counter("dengjingdong") #c = Counter({'n': 3, 'g': 3, 'd': 2, 'i': 1, 'o': 1, 'e': 1, 'j': 1}) print("原始数据:",c) print("最

Python进阶(十)----规范化格式目录, time模块, datatime模块,random模块,collection模块(python额外数据类型)

Python进阶(十)----规范化格式目录, time模块, datatime模块,random模块,collection模块(python额外数据类型) 一丶规范化格式目录 六个目录: #### 对某某项目进行一个标准化的开发,进行规范化. #bin : 启动项目程序的主入口 #conf : 项目的配置文件 #core : 主要逻辑(业务逻辑) #db : 存放数据() #lib : 辅助文件(存放公共的一些方法) #README : 项目文档说明 ? 二丶time模块(时间模块) 时间的三

python之collection模块

collections 是python内建的一个集合模块. namedtuple可以很方便的定义一种数据类型,他具备tuple的不可变性,也可以根据属性来引用,非常方便. 1 2 3 4 5 from collections import  namedtuple point = namedtuple('p',['x','y']) p = point(1,2) print(p.x) #1 print(p.y) #2 # namedtuple('名称', [属性list]):Circle = nam

Python其他数据结构collection模块-namtuple defaultdict deque Queue Counter OrderDict

nametuple 是tuple扩展子类,命名元组,其实本质上简单类对象 from collections import namedtuple info = namedtuple("Info", ['name', 'age', 'height']) # 赋值,是不是有点像面向对象中实例变量方式 info.name = "北门吹雪" info.age = 18 info.height = 175 # 访问 print(info.name) 其实本质上和下面方式一样 c

2.2 collection 模块

2.2.1 定义命名元祖 2.2.2 定义双端队列 2.2.3 定义有序的字典 2.2.4 定义有默认值的字典 原文地址:https://www.cnblogs.com/shijieli/p/10339037.html

其他模块

一.collection模块 在内置数据类型的基础上(list tuple set dict str),collections模块提供了如下几种额外的数据类型:namedtuple deque Counter OrderDict defaultdict 1.namedtuple:生成可以使用名字访问元素的元组,正常的元组可以通过索引进行取值,但是很难看出元组元素所表示的意义,这就是namedtuple数据类型存在的意义.其用法如下实例: from collections import named

what's the python之模块

正则表达式 首先,我们引入了正则表达式的知识.所谓正则表达式,就是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑. 正则表达式本身和python没有什么关系,就是匹配字符串内容的一种规则.这里给了一个非常好用的在线测试工具http://tool.chinaz.com/regex/ 谈到正则,就只和字符串相关了.着眼于正则的时候,输入的每一个字都是一个字符串.如

19、模块

一.collection模块 1.namedtuple :生成可以使用名字访问元素内容的tuple from collections import namedtuple point=namedtuple('ppoint',['x','y','z']) p1=point(2,5,9) print(p1) 2.deque:生成双端数列,可以从两段进行添加和访问的数列 使用list存储数据时,按索引访问元素很快,但是插入和删除元素就很慢了,因为list是线性存储,数据量大的时候,插入和删除效率很低.d

python5-常用模块

collection 模块 # pypi 可以查询python的模块在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdict.namedtuple和OrderedDict等. 1.namedtuple: 生成可以使用名字来访问元素内容的tuple 2.deque: 双端队列,可以快速的从另外一侧追加和推出对象 3.Counter: 计数器,主要用来计数 4.OrderedDict: