python中collection模块的简单介绍(附示例)


本文摘自php中文网,作者不言,侵删。

本篇文章给大家带来的内容是关于python中collection模块的简单介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

collection模块:

在内置数据类型(dict、list、set、tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter、deque、defaultdict、namedtuple和OrderedDict等。

1:namedtuple

生成可以使用名字来访问元素内容的元组(tuple)
例如:表示一个坐标

1

2

3

4

5

from collections import namedtuple

point = namedtuple('point',['x','y'])

p=point(1,2)

print(p.x)

print(p.y)

1

2

>>1

>>2

2:deque双端队列:

双端队列,可以快速的从另外一侧追加和推出对象。
使用list存储数据时,按索引访元素很快,但是插入和删除元素就很慢了,因为list是线性存储,数据量大的时候,插入和删除效率很低

deque是为了高效实现插入和删除操作的双向列表,适合用于队列和栈

1

2

3

4

5

from collections import deque

q=deque(['a','b','c'])

q.append('x')

q.appendleft('y')

print(q)

1

>>deque(['y', 'a', 'b', 'c', 'x'])

3:Counter计数器

计数器,主要用来计数
目的是用来跟踪值出项的次数,它是一个无序的容器类型,以字典的键值对的形式存储,其中元素作为key,其计数作为value
计数值可以是任意的interger(包括0和负数),

创建:

1

2

3

4

5

6

7

8

9

from collections import Counter

#创建一个空的类

c=Counter()

#从一个可迭代对象中创建

c=Counter('gallahad')

#从一个字典对象创建

c=Counter({'a':2,'b':4})

#从一组键值对创建

c=Counter(a=2,b=4)

计数值的访问与缺失的键
当所访问的键不存在时,返回0,而不是KeyError;否则返回它的计数

计数值的访问

1

2

3

4

5

c=Counter('gallahad')

print(c['a'])

print(c['z'])

>>3

>>0

计数器的更新(update和subtract)
可以使用一个可迭代对象或者另一个Counter对象来更新键值对

update增加

1

2

3

4

5

6

7

8

c=Counter('gallahad')

c.update('chengzheng')

print(c['e'])

>>2

d=Counter('holloword')

c.update(d)

print(c['l'])

>>4

subtract减少

1

2

3

4

5

6

7

8

c=Counter('gallahad')

c.subtract('g')

print(c['g'])

>>0

d=Counter('all')

c.subtract(d)

print(c['l'])

>>0

键的修改和删除
当计数值为0时,并不意味着元素被删除,删除元素应当使用del

阅读剩余部分

相关阅读 >>

Python阶乘函数怎么使用

基于rabbitmq rpc实现的主机管理

Python头文件怎么写

Python打开py文件一闪而过怎么办?

Python定制类__str__(实例详解)

探索Python模块自动搜索路径

认识什么是PythonPython的优点和缺点

Python去除扩展名

pycharm自带Python

Python是什么

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...