collection系列

1.计数器(counter)

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

我们从中挑选一些相对常用的方法来举例:

在上面的例子我们可以看出,counter方法返回的是一个字典,它将字符串中出现的所有字符都进行了统计。在这里再介绍一下update方法,这个update方法是将两次统计的结果相加,和字典的update略有不同。

2.有序字典(OrderedDict):

orderdDict是对字典类型的补充,主要是可以按照字典元素添加顺序输出。

普通字典:无序的,它依靠key,value之间的索引进行匹配。

 dict={                      
'':'test1',
'':'test2',
'':'test3',
'':'test4',
'':'test5',
'':'test6'
}
for k,v in dict.items():
print k,v

aaarticlea/png;base64,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" alt="" />


有序字典:字典在内部自动维护了一个key列表。

import collections
dict1=collections.OrderedDict()
for lines in range(1,7):
dict1[str(lines)]='test%s'%(lines) for k,v in dict1.items():
print k,v

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXEAAACoCAIAAACZo0mgAAAHPUlEQVR4nO3dP24b6R0GYF1ltxjuIQIEixQBYqgYJAY2hoEg9RopVqAWcOXCnU9A8AY+A9lmbzGNfQ+mkEQPKUqab+bVx7HyCE9lUaOfCcyr+cfvvfjTn3++b/HTj/U17zZfPl+d5Vf/n+u/868+df/9dPn4iz+/++HsM8+N93DvYkaZsrj89Mfm18XLfK+bxdXnL7uvX0/48uXM/+v9O//qU3c70h+rV/dG+vXz7uvXndz3Hj5uRpkCvAAyBUiSKUCSTAGSZAqQJFOAJJkCJMkUIEmmAEkyBUiSKUCSTAGSZAqQFM6Udr1Zt7P+YPH8J4TvWiZTmsXVdnfz1ZXusU27Wl8nd/KTG5wyITBc8jilWVxty/fYdt1to5nyyAbHTQgMd+ZMuTl8CGbK4xuUKfDczpYpzeJy3e0OvzbL3rpYTbvaf79bH6zE11xv+j92kyBPbrB0QmCEsx+nXK67E4cVTbvq7hLh5jX7WGnaVdet2ruwaK43/cR5aIOjJwSKzDRTltuDf2yuN7u7HDnKlIEbHD0hUGSOmXLqLObgRKa9/faJ3yVT4LzmmylPXri9uz18eBVGpsBZzTFTFj/9uNweX5ddXp+uL2iuN7vt1ZMbHD0hUCSaKe2qK78xvI+Ppl1t+xdie5vqP3Jy9PhJu+6O0+fUBqdMCAwXf462+FnVb/eMD6+8PnQv+ehG8u7e9dqTG5wyITCczxACSTIFSJIpQJJMAZJkCpAkU4AkmQIkyRQgSaYASTIFSJIpQJJMAZJkCpAkU4AkmQIkxTKl7S0he7RI0kzMf0J4ATKZ0q67/QKON0siDd9p63SbTpkQGC6QKfeXgO3vwE+q0G06cUJguFim9HfR4XtsnW7TKRMCRZ7lGu1R49dJZ+k2LZoQGCGfKY/3BB6/uG636YgJgSLhTGkWV9uS3bVyt+mICYEi8c6wB083HviR+t2mZRMCRWKZMm53rdltKlCggmBn2MHuulwPOr+o1m06ekKgSCZTltt7t2wG36mt0206ZUJguMjzKUe1oWUPv1foNp04ITCczxACSTIFSJIpQNLF+w8f33/4+J+r3//y17/JFGCii9dv3r5+8/bNv/797relTAEmus2U12/evv/wUaYAE8kUIEmmAEkyBUiSKUCSTAGSZAqQJFOAJJkCJMkUICmWKcttb2WSe8vEzsH8J4QXIJMp/aUe23X3SLHOfXW6TadMCAwXy5RvbcTDVqjeq9BtOnFCYLj89ZRmcbnuhp5c1Ok2nTIhUCSfKQOriM/YbaosGZ5PMlNuq7xKdtfK3aYjJgSKPMO5z/Vm+I2V+t2mpRMCRZ7l+ZThJxeVu01HTAgUuc2Uv//yz2Cm9A8rnnhlxW7TcRMCRS5uAuWy/cfo9WhvDyt6f/bbdTclUxbpbtMpEwJFbtfNf/fbcvS6+SeuoZbcHq7QbTpxQmC4VAd7/wpI2eXPCt2mEycEhtMZBiTJFCBJpgBJMgVIkilAkkwBkmQKkCRTgCSZAiTJFCBJpgBJMgVIkilAkkwBkmQKkJTPlPtLtM3N/CeE71c4U24WTCraY+t0m06ZEBgumSn7tdSK9tg63aZTJgSGS2ZKu+669VV/5dcnVe42HTEhUCSWKXdVXpcD99j63aalEwIjBNe43iwXPzSFe2y1btPREwJFMpmyv4SRypR4t+noCYEigUxpFlfbuzquSKbEu02nTAgUSWTKUeHO4WWOJ362SrfplAmBIunnU3LnPsFu0ykTAkXOnCmLKt2mEycEhgs/n9LvHB3YH1qn23TKhMBwPkMIJMkUIEmmAEkyBUiSKUCSTAGSZAqQJFOAJJkCJMkUIEmmAEkyBUiSKUCSTAGSZAqQFFo3v7fWyf0VT+Zg/hPCyxDLlNH9pHW6TeO/BTjp/JlSp9tUpkAdoUy53ozLhWrdpqMnBIqkMmW1bm+aMYZeqqjcbTpiQmCE2HHK7lsVacGhR71u07ETAkWe5V5yu+76nTuPqNZtOnpCoMizZEo/Ap54ZZVu0ykTAkUifcmX6253UAaYyJRkt+mECYEioQ72w8sTkXOfYLfplAmBIplzn37BaNOuupKKvzrdplMmBIaLXU/p14YW3VKp1m06ekJgOJ8hBJJkCpAkU4AkmQIkyRQgSaYASTIFSJIpQJJMAZJkCpAkU4AkmQIkyRQgSaYASTIFSEpmynL74JomMzH/CeF7F+ri6NVl3CzUOLxAp1K36YQJgeFy/T5jl3et1G06YUJguNi6+eP+7NfpNp0yIVAkuW7+t6sVA44IanabjpsQGCGRKe2q2+26ruvv2wMPCup0m06ZECiSy5Sjpe0ndIYt0t2mUyYEisQy5SACekcZT/xslW7TKRMCRZ6lhzCSKdFu0/ETAkUy95KX22Rf8iLdbTplQqBI6PmU3gWLgUcZe3W6TadMCAwXeza/f+t3nt2moycEhvMZQiBJpgBJMgVIkilAkkwBkmQKkPQ/Tr4ZX5/l5DEAAAAASUVORK5CYII=" alt="" />

3.默认字典(defaultdict)

defaultdict是对字典的类型的补充,他默认给字典的值设置了一个类型。

有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {'k1': 大于66 , 'k2': 小于66}
常用方法:
dic={}
li=[11,22,33,44,55,66,77,88,99]
for item in li:
if item>66:
if 'k2'in dic.keys():
dic['k2'].append(item)
else:
dic['k2']=[item,] else:
if 'k1' in dic.keys():
dic['k1'].append(item)
else:
dic['k1']=[item

用默认字典实现

 import collections
value=[11,22,33,44,55,66,77,88,99]
dict1=collections.defaultdict(list)
for list1 in value:
if list1<=66:
dict1['k1'].append(list1)
else:
dict1['k2'].append(list1)
print dict1

4、可命名元组(namedtuple)

根据nametuple可以创建一个包含tuple所有功能以及其他功能的类型:

主要用于‘坐标’的表示。用法如下:

 import collections as coll
>>> mytuple=coll.namedtuple('mytuple',['x','y'])
>>> n=mytuple(1,2)
>>> n
mytuple(x=1, y=2)
>>> n.x
1
>>> n.y
2

5、双向队列(deque)

一个线程安全的双向队列:双向队列我们可以理解为两个栈底相连的栈,和队列的先进先出不同,元素可以从这个队列的两端分别加入或者删除值。

 a=coll.deque()
a.append(1)
a.append(2)
a.append(3)
print a.pop()
3
print a.popleft()
1

python第三天---collections类的更多相关文章

  1. Python进阶(三)--global和类属性

    global关键字 一句话概括为:告诉python解释器,global声明的变量为全局作用域内定义的变量.解释器就会到全局作用域内寻找global定义的变量. python的类属性 类属性相当于其他O ...

  2. python第三十一天-----类的封装、继承,多态.....

    封装 封装最好理解了.封装是面向对象的特征之一,是对象和类概念的主要特性. 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏. cla ...

  3. python第三十天-类

    编程范式 编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程 , 一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大路通罗马,实现一个任务的方式有很 ...

  4. JAVA笔记19-容器之三 Set接口、List接口、Collections类、Comparable接口(重要)

    一.Set接口 //HashSet综合举例 import java.util.*; public class Test{ public static void main(String[] args){ ...

  5. 孤荷凌寒自学python第三十四天python的文件操作对file类的对象学习

     孤荷凌寒自学python第三十四天python的文件操作对file类的对象学习 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.close() 当一个file对象执行此方法时,将关闭当前 ...

  6. python基础知识4——collection类——计数器,有序字典,默认字典,可命名元组,双向队列

    1.计数器(counter) Counter是对字典类型的补充,用于追踪值的出现次数. ps:具备字典的所有功能 + 自己的功能  Counter 我们从中挑选一些相对常用的方法来举例: 在上面的例子 ...

  7. 学习Python的三种境界

    前言 王国维在<人间词话>中将读书分为了三种境界:"古今之成大事业.大学问者,必经过三种之境界:'昨夜西风凋碧树,独上高楼,望尽天涯路'.此第一境也.'衣带渐宽终不悔,为伊消得人 ...

  8. Collections类常用方法总结

    1. sort 对集合进行排序 public static <T extends Comparable<? super T>> void sort(List<T> ...

  9. python高级编程之(类级):子类内建类型

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #类级 #在2.2中,提出了类型(type0与类(class)统一( ...

随机推荐

  1. php数字转中文

    function number2Chinese($num, $m = 1) { switch($m) { case 0: $CNum = array( array('零','壹','贰','叁','肆 ...

  2. C# DataTable转实体 通用方法【转】

    public static T GetEntity<T>(DataTable table) where T : new()    {        T entity = new T();  ...

  3. iOS图片模糊效果

    增加  CoreImage.framework  CoreGraphic.framework 等库 在使用时引入:#import <Accelerate/Accelerate.h> ,支持 ...

  4. jquery Ztree v3.5 实例2 自定义显示在节点前的图片

    显示效果如下: 代码如下: <html> <head><title></title></head> <script type=&quo ...

  5. C#中关于DBNULL的处理方法

    从数据库中获取数据有些会是空值的,这时一不注意就会被坑了…… String.Concat(db.可能为DBNULL的值) 在这种情况下,如果是DBNULL,得到的会是""

  6. sql2008中时间类型问题

    DATEDIFF (DD ,@sdate ,getdate() ) eg30 计算从开始日期到今天的天数 datename(weekday,@sdate) eg星期三 查询那一天是星期几 SQL Se ...

  7. .net通用权限框架B/S(二) 数据库设计

    1.组织机构---员工是1:n关系 2.角色---员工n:n 3.角色--导航菜单n:n 4.操作权限(id)---导航菜单(prms_id)n:n   [此处是n:n关系正常是生成第三张表存放多对多 ...

  8. Mantis 1.1.0 报告问题中设置必填项或取消必填项[Z]

    打开/mantis/core/bug_api.php,其中有类似下面的语句 if ( is_blank( $c_summary ) ) {    error_parameters( lang_get( ...

  9. tmux 命令

    创建并指定session名字tmux new -s $session_name 删除sessionCtrl+b :kill-session 临时退出sessionCtrl+b d 列出sessiont ...

  10. js——事件

    焦点:使浏览器能够区分用户输入的对象,当一个元素有焦点的时候,那么他就可以接收用户的输入. 我们可以通过一些方式给元素设置焦点 1.点击 2.tab 3.js 不是所有元素都能够接收焦点的.能够响应用 ...