码迷,mamicode.com
首页 > 编程语言 > 详细

python-collections模块

时间:2016-12-23 19:24:07      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:有序   efault   print   参考   http   point   color   dict   font   

在collections中提供了如下的类:[‘deque‘, ‘defaultdict‘, ‘namedtuple‘, ‘UserDict‘, ‘UserList‘,‘UserString‘, ‘Counter‘, ‘OrderedDict‘, ‘ChainMap‘]

1.namedtuple(): 生成可以使用名字来访问元素内容的tuple子类
2.deque: 双端队列,可以快速的从另外一侧追加和推出对象
3.Counter: 计数器,主要用来计数
4.OrderedDict: 有序字典
5.defaultdict: 带有默认值的字典

参考博客:http://www.cnblogs.com/liupengpengg/p/5593273.html

默认字典

  可以指定字典中值的类型

例如:将[11,22,33,44,55,66,77,88,99]中大于55的数放在‘k1’中,小雨等于55的放在‘k2’中。

from collections import defaultdict

v=[11,22,33,44,55,66,77,88,99]

dic=defaultdict(list)

for i in v:

  if i >55:

    dic[‘k1‘].append(i)

  else:

  dic[‘k2‘].append(i)

print(dic)

结果:defaultdict(<class ‘list‘>, {‘k2‘: [11, 22, 33, 44, 55], ‘k1‘: [66, 77, 88, 99]})

可命名元组

可命名并不是说元组中的元素可以进行修改,是可以将元组中的每个元素指定一个代号,以后就可以通过这个代号来查找这个元素,而不是通过索引。需要注意的是:要用这个类我们需要先创建类,

例如:通过x,y,z来取出元组中的值

from collections import namedtuple

point=namedtuple(‘point‘,[‘x‘,‘y‘,‘z‘])

a=point(11,22,33)

print(a.x,a.y,a.z)

结果:11 22 33

python-collections模块

标签:有序   efault   print   参考   http   point   color   dict   font   

原文地址:http://www.cnblogs.com/zhangyuxin/p/6215747.html

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