首页 > 其他 > 详细

其他模块

时间:2017-11-14 20:29:00      阅读:257      评论:0      收藏:0      [点我收藏+]

一、collection模块

  在内置数据类型的基础上(list tuple set dict str),collections模块提供了如下几种额外的数据类型:namedtuple deque Counter OrderDict defaultdict

1、namedtuple:生成可以使用名字访问元素的元组,正常的元组可以通过索引进行取值,但是很难看出元组元素所表示的意义,这就是namedtuple数据类型存在的意义。其用法如下实例:

from collections import namedtuple
circle = namedtuple(P,[x,y,r])      #P可以取任意变量名,无实际用处,但不可或缺
c1 =circle(2,3,5)
print(c1.x)
print(c1.y)
print(c1.r)

2、deque:list可以高效的进行元素查找,但是对于追加和删除元素比较困难,尤其对于列表较大时,主要是因为列表为单向序列,遵循先进先出原则,只能在列表末尾进行元素的追加(append())和删除(pop())。而deque就是为了高效解决列表的增加和删除元素的,除了具有append()和pop()外,还具有appendleft()和popleft()方法,可以在列表的头部进行元素的增加和删除。

from collections import deque
q = deque([a,b,c])
q.append(x)
q.appendleft(y)
print(q)                                #输出结果为:deque([‘y‘, ‘a‘, ‘b‘, ‘c‘, ‘x‘])
q.pop()
print(q)                                #输出结果为:deque([‘y‘, ‘a‘, ‘b‘, ‘c‘])
q.popleft()
print(q)                                #输出结果为:deque([‘a‘, ‘b‘, ‘c‘])

3、Counter:主要用来跟踪值出现的次数,返回无序的数据类型,用字典键值对进行记录结果,其中元素为key,次数为value。

from collections import Counter
c = Counter(abcdeabcdabcaba)
print(c)                               #输出结果为:Counter({‘a‘: 5, ‘b‘: 4, ‘c‘: 3, ‘d‘: 2, ‘e‘: 1})

 

其他模块

原文:http://www.cnblogs.com/jassin-du/p/7834402.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!