collections模块简介
- collections是Python内建的一个集合模块,提供了许多有用的集合类。
- 使用:
import collections
collections模块方法
-
nametuple(typename, field_names, *, rename=False, defaults=None, module=None)
:import collections # 创建一个可以使用属性名称而不是索引获取值的元组 point = collections.namedtuple('Point', ['x', 'y']) p = point(1, 2) # point()中的point为返回值point print(p.y)
-
deque([iterable[, maxlen]])
:import collections # 创建一个可以高效实现插入和删除操作的双向列表,适合用于队列和栈。 q = collections.deque([1,2,3,4,5,6]) q.append(7) # deque队列末尾添加数据 print(q) q.popleft() # deque最左边删除数据 print(q) q.appendleft(3) # deque最左边添加数据 print(q)
-
defaultdict([default_factory[, ...]])
:- 描述:返回一个新的类似字典的对象。使用
dict
时,如果引用的Key不存在,就会抛出KeyError
。如果希望key不存在时,返回一个默认值,就可以用defaultdict
- 参数:构造时,第一个参数用于为该属性提供初始值,默认为
None
。所有其他参数(包括关键字参数)都相当于传递给dict
的构造函数。
import collections # 使用dict时,如果引用的Key不存在,就会抛出KeyError。如果希望key不存在时,返回一个默认值,就可以用defaultdict: new_dict = collections.defaultdict(lambda :"N") print(new_dict['key']) # key不存在返回"N"
- 描述:返回一个新的类似字典的对象。使用
-
OrderedDict([items])
:OrderedDict
的Key会按照插入的顺序排列,不是Key本身排序。import collections d = collections.OrderedDict({'a':1,"b":2,"c":3}) print(d)
-
ChainMap(*maps))
:可以把一组dict
串起来并组成一个逻辑上的dict
。ChainMap
本身也是一个dict,但是查找的时候,会按照顺序在内部的dict依次查找。import collections d = collections.ChainMap({'a':1,"b":2,"c":3},{'d':1,"e":2}) print(d['d'])
-
Counter([iterable-or-mapping])
:一个 计数器是一个dict
的子类,用于计数可哈希对象。import collections d = collections.Counter(['a',1,"b",2,"c",3,3,4]) print(d[3]) # 计数器计数3出现的次数
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。