模块说

1 python基础之模块

collections模块

collections是Python内建的一个集合模块,提供了许多有用的集合类。 

namedtuple

from collections import namedtuple
Point = namedtuple('Point', ['x', 'y'])
p = Point(1, 2)  

namedtuple是一个函数,它用来创建一个自定义的tuple对象,并且规定了tuple元素的个数,并可以用属性而不是索引来引用tuple的某个元素。

这样一来,我们用namedtuple可以很方便地定义一种数据类型,它具备tuple的不变性,又可以根据属性来引用,使用十分方便。

deque

用list存储时,按索引访问快,但是插入和删除元素慢,因为list是线性存储,数据量大的时候,插入和删除效率很低。

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

Python
from collections import deque
q = deque(['a', 'b', 'c'])
q.append('x')
q.appendleft('y')
print q

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

OrderedDict

使用dict时,Key是无序的。在对dict做迭代时,我们无法确定Key的顺序。

如果要保持Key的顺序,可以用OrderedDict: 

Python
from collections import OrderedDict
d = dict([('a', 1), ('b', 2), ('c', 3)])
print 'd',d
od = OrderedDict([('a', 1), ('b', 2), ('c', 3)])
print 'od',od  
d {'a': 1, 'c': 3, 'b': 2}
od OrderedDict([('a', 1), ('b', 2), ('c', 3)])  

小结

不得不说,python的好多内置模块用起来还是很方便的哟。

原文地址:https://www.cnblogs.com/monkey-moon/p/8728977.html