python第三天---collections类
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类的更多相关文章
- Python进阶(三)--global和类属性
global关键字 一句话概括为:告诉python解释器,global声明的变量为全局作用域内定义的变量.解释器就会到全局作用域内寻找global定义的变量. python的类属性 类属性相当于其他O ...
- python第三十一天-----类的封装、继承,多态.....
封装 封装最好理解了.封装是面向对象的特征之一,是对象和类概念的主要特性. 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏. cla ...
- python第三十天-类
编程范式 编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程 , 一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大路通罗马,实现一个任务的方式有很 ...
- JAVA笔记19-容器之三 Set接口、List接口、Collections类、Comparable接口(重要)
一.Set接口 //HashSet综合举例 import java.util.*; public class Test{ public static void main(String[] args){ ...
- 孤荷凌寒自学python第三十四天python的文件操作对file类的对象学习
孤荷凌寒自学python第三十四天python的文件操作对file类的对象学习 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.close() 当一个file对象执行此方法时,将关闭当前 ...
- python基础知识4——collection类——计数器,有序字典,默认字典,可命名元组,双向队列
1.计数器(counter) Counter是对字典类型的补充,用于追踪值的出现次数. ps:具备字典的所有功能 + 自己的功能 Counter 我们从中挑选一些相对常用的方法来举例: 在上面的例子 ...
- 学习Python的三种境界
前言 王国维在<人间词话>中将读书分为了三种境界:"古今之成大事业.大学问者,必经过三种之境界:'昨夜西风凋碧树,独上高楼,望尽天涯路'.此第一境也.'衣带渐宽终不悔,为伊消得人 ...
- Collections类常用方法总结
1. sort 对集合进行排序 public static <T extends Comparable<? super T>> void sort(List<T> ...
- python高级编程之(类级):子类内建类型
# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #类级 #在2.2中,提出了类型(type0与类(class)统一( ...
随机推荐
- Python爬虫实战(2):爬取京东商品列表
1,引言 在上一篇<Python爬虫实战:爬取Drupal论坛帖子列表>,爬取了一个用Drupal做的论坛,是静态页面,抓取比较容易,即使直接解析html源文件都可以抓取到需要的内容.相反 ...
- SQL Server 从数据库快照还原数据库
语法: restore database db_name from database_snapshot = 'db_snapshot_name'; ------------------------- ...
- [开源]在iOS上实现Android风格的控件Toast
[开源]在iOS上实现Android风格的控件Toast iOS的风格和Apple其他产品一样,简单而粗暴.没有给人其他选择的余地,让你又爱又恨.同样的,Apple对待iOS平台的开发人员和对待大众消 ...
- aix puppet agent
demo控制脚本tel,150 5519 8367 Running Puppet on AIX Puppet on AIX is… not officially supported, yet stil ...
- 递推计数-hdu-4747-Mex
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4747 题目大意: 给n个数,求所有区间内没有出现的最小非负整数和. 解题思路: 首先感谢大神博客:h ...
- MediaChooser图库浏览器
MediaChooser Android库 MediaChooser是一个库,浏览并选择视频和图像从SD卡.它可以用来显示文件中查看图像和视频(显示所有文件)或文件夹视图(显示文件分类).项目按日期, ...
- SharpDevelop with Silverlight
Error creating project :The imported project "C:\Program Files (x86)\MSBuild\Microsoft\Silverli ...
- 蓝桥杯D1
整数因式分解的问题.了解了一下筛法计算素数的算法.之前都是直接跑的sqrt(n)... 上方的genPrime()即筛法.大致意思是开一个标识数组,通过循环,下标为合数的位置置为false. #inc ...
- spring学习参考资料
http://www.cnblogs.com/ooooevan/p/5795456.html http://blog.csdn.net/hongjun1847/article/details/2053 ...
- ucenter 同步登录总结
部署: discuz默认安装后就安装了uc_server应用 各应用根目录必须有uc_client文件夹. 下载ucenter程序查看范例程序 应用管理中,应用的主 URL必须指向到应用的根目录,应用 ...