模块说

Posted moonok

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模块说相关的知识,希望对你有一定的参考价值。

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的好多内置模块用起来还是很方便的哟。

以上是关于模块说的主要内容,如果未能解决你的问题,请参考以下文章

python中的模块

如何有条件地将 C 代码片段编译到我的 Perl 模块?

CTS测试CtsWindowManagerDeviceTestCases模块的testShowWhenLockedImeActivityAndShowSoftInput测试fail项解决方法(代码片段

如何将字符串数据从活动发送到片段?

argparse 代码片段只打印部分日志

常用Javascript代码片段集锦