码迷,mamicode.com
首页 > 其他好文 > 详细

collections系列功能介绍

时间:2016-07-11 01:17:11      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:python collections使用说明

collections模块是python2.7.3之后新加的功能。


1.1、计数器(Counter)

Counter是对字典类型的补充,用于追踪值的次数

ps:具备字典的所有功能 + 自己的功能

>>> import collections
>>> c1=collections.Counter(‘asdasdf‘)
>>> print c1
Counter({‘a‘: 2, ‘s‘: 2, ‘d‘: 2, ‘f‘: 1})


1.2、c.update(d):将c、d两个计数器相加

>>> c = collections.Counter(‘aabc‘)
>>> c
Counter({‘a‘: 2, ‘c‘: 1, ‘b‘: 1})
>>> d=collections.Counter(‘aab‘)
>>> d
Counter({‘a‘: 2, ‘b‘: 1})
>>> c.update(d)
>>> c
Counter({‘a‘: 4, ‘b‘: 2, ‘c‘: 1})


1.3 clear()  清空计数器

>>> c
Counter({‘a‘: 4, ‘b‘: 2, ‘c‘: 1})
>>> c.clear()
>>> c
Counter()


2. 有序字典(OrderedDict):

orderedDict是对字典类型的补充,他记住了字典元素的添加顺序

我们知道字典是无序的,列表是有序的,OrderedDict方法原理就是将字典赋值时的key按顺序保存到一个列表中,例如list=[k1,k2,k3,...]。最后将字典的值按key的顺序调用出来

o1 = collections.OrderedDict()
o1[‘k1‘] = 1
o1[‘k2‘] = 2
o1[‘k3‘] = 3
>>> o1
OrderedDict([(‘k1‘, 1), (‘k2‘, 2), (‘k3‘, 3)])


3、默认字典(defaultdict):为字典中的values设置一个默认的类型,可以为列表,元组或者字典

例如:

>>> my_dict = collections.defaultdict(list)
>>> my_dict[‘k1‘].append(1)
>>> my_dict
defaultdict(<type ‘list‘>, {‘k1‘: [1]})

这里由于定了了默认values的类型为list,所以后面才能使用append方法,往列表赋值


默认字典2:上面的例子还可以这样写

>>> dic = {}
>>> dic[‘k1‘] = []
>>> dic[‘k1‘].append(1)
>>> dic
{‘k1‘: [1]}












本文出自 “zengestudy” 博客,请务必保留此出处http://zengestudy.blog.51cto.com/1702365/1821985

collections系列功能介绍

标签:python collections使用说明

原文地址:http://zengestudy.blog.51cto.com/1702365/1821985

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!