python3 collections数据类型模块

 2023-09-05 阅读 113 评论 0

摘要:collections模块   在内置数据类型(dict、list、set、tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter、deque、defaultdict、namedtuple和OrderedDict等。   1.namedtuple: 生成可以使用名字来访问元素内容的tuple   2

collections模块

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

  1.namedtuple: 生成可以使用名字来访问元素内容的tuple

  2.deque: 双端队列,可以快速的从另外一侧追加和推出对象

  3.Counter: 计数器,主要用来计数

  4.OrderedDict: 有序字典

  5.defaultdict: 带有默认值的字典

1.namedtuple

#1 namedtuple
from collections import namedtuple
Point = namedtuple('point',['x','y'])
p = Point(110,365)
print(p)
'''结果:
point(x=110, y=365)
'''
print(p.x,p.y)
'''结果:
110 365
'''

2.deque

#2 deque
#deque是为了高效实现插入和删除操作的双向列表,适合用于队列和栈
from collections import deque
q = deque(['a','b','c'])
q.append('x')
q.appendleft('y')
print(q)
'''结果:
deque(['y', 'a', 'b', 'c', 'x'])
'''
#deque除了实现list的append()和pop()外,还支持appendleft()和popleft(),这样就可以非常高效地往头部添加或删除元素。

3.OrderedDict

#3 OrderedDict有序字典
from collections import OrderedDict
d = dict([('a',1),('b',2),('c',3)])
print(d)    #dict的key是无序的
'''结果:
{'c': 3, 'b': 2, 'a': 1}
'''od = OrderedDict([('b', 2), ('c', 3), ('a', 1)])
print(od)   #OrderedDict的key是有序的
'''结果:
OrderedDict([('b', 2), ('c', 3), ('a', 1)])
'''#OrderedDict的其它用法和Dict无序字典一样,唯一不一样就是orderedDict是有序

4.defaultdict

#4 defaultdict默认字典
from collections import defaultdict
lis = [1,2,3,4,5,6]
my_dic = defaultdict(list)  #定义一个字典,对应的value类型是list列表
for i in lis:if i % 2 ==0:my_dic['k1'].append(i)else: my_dic['k2'].append(i) print(my_dic) '''结果: defaultdict(<class 'list'>, {'k1': [2, 4, 6], 'k2': [1, 3, 5]}) ''' my_dic2 = defaultdict(lambda : '没有这个Key') #通过匿名函数定义Key不存在时的返回值 my_dic2['1'] =1 print(my_dic2['1']) '''结果: 1 ''' print(my_dic2['2']) '''结果: 没有这个Key '''

转载于:https://www.cnblogs.com/jason-lv/p/8260485.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/56.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息