首页 > 代码库 > python collections 模块
python collections 模块
collections 模块里有一些比较好用的类型,是一些基础类型的扩展,是必要会的模块之一
Counter (计数器)
可以追踪值出现的次数,且是由大到小排列出来
>>> import collections >>> c1 = collections.Counter(‘adadwefffcvcc‘) >>> c1 Counter({‘c‘: 3, ‘f‘: 3, ‘a‘: 2, ‘d‘: 2, ‘e‘: 1, ‘w‘: 1, ‘v‘: 1})
2.OrderedDict (有序字典)
python中字典类型是无序的,有的时候无序不方便,可以用OrderedDict,来生成有序字典,顺序是按插入的顺序。
>>> import collections >>> d = dict([(‘k1‘,11),(‘k2‘,22),(‘k3‘,33)]) >>> d {‘k3‘: 33, ‘k2‘: 22, ‘k1‘: 11} >>> order_d = collections.OrderedDict([(‘k1‘,11),(‘k2‘,22),(‘k3‘,33)]) >>> order_d OrderedDict([(‘k1‘, 11), (‘k2‘, 22), (‘k3‘, 33)])
3.defaultdict (默认字典)
为字典里的 value 设置一个默认类型,可以是list ,tuple等
>>> import collections >>> dic = collections.defaultdict(list) >>> dic[‘k1‘].append(1) >>> dic defaultdict(<type ‘list‘>, {‘k1‘: [1]}) >>> dic = {} >>> dic[‘k1‘] = [] >>> dic[‘k1‘].append(1) >>> dic {‘k1‘: [1]}
4.namedtuple (可命名元组)
这个和一般的元组创建过程不一样,一般的元组是用python中已经存在的类创建对象,再使用对象,再是先创建类,在通过这个类创建对象,再使用对象。它是python中元组的子类,继承python中元组的方法。
>>> import collections >>> Mytuple = collections.namedtuple(‘Mytuple‘,[‘x‘,‘y‘]) >>> new = Mytuple(1,2) >>> print new Mytuple(x=1, y=2) >>> new.x 1 >>> new.y 2
5.deque (双向队列)
两头都可以取,都可以插,大大提高了插入和删除效率
>>> import collections >>> d = collections.deque([11,22,55,66]) >>> d deque([11, 22, 55, 66])
,
本文出自 “楚水君” 博客,请务必保留此出处http://artvary.blog.51cto.com/10506823/1894589
python collections 模块
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。