1、计数器(counter)

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

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

 Counter

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

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

2、有序字典(orderedDict )

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

 OrderedDict

我们都知道字典本来是无序的,它依靠key,value之间的索引进行匹配,那么有序字典的原理是什么呢? 原理: dic = {'k2':1,'k1':2},li = ['k1','k2'],这个字典在内部维护了一个key列表。

从上面的图中我们就知道,尽管我们定义的字典是从1到8按顺序写的,但是在打印的过程当中并没有按到我们希望的顺序打印。这个时候有序字典的优势就出来了:

3、默认字典(defaultdict)

学前需求:

1 有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
2 即: {'k1': 大于66 , 'k2': 小于66}
 原生字典解决方法
 defaultdict字典解决方法

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

 defaultdict

4、可命名元组(namedtuple)

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

1 import collections
2
3 Mytuple = collections.namedtuple('Mytuple',['x', 'y', 'z'])
 Mytuple

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

5、双向队列(deque)

一个线程安全的双向队列

 deque

注:既然有双向队列,也有单项队列(先进先出 FIFO )

 Queue.Queue

一个线程安全的双向队列:双向队列我们可以理解为两个栈底相连的栈,和队列的先进先出不同,元素可以从这个队列的两端分别加入或者删除值。尽管list其实完全可以实现这个功能,但是python的collections类还是很贴心的把这些方法都归纳了出来,歪果仁就是有意思啊~~~

 deque Code

python基础知识4——collection类——计数器,有序字典,默认字典,可命名元组,双向队列的更多相关文章

  1. python基础知识5——赋值与深浅拷贝——整数和字符串,列表元组字典

    深浅copy 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. 1 import copy 2 # ######### 数字.字符串 #### ...

  2. Python基础知识详解 从入门到精通(七)类与对象

    本篇主要是介绍python,内容可先看目录其他基础知识详解,欢迎查看本人的其他文章Python基础知识详解 从入门到精通(一)介绍Python基础知识详解 从入门到精通(二)基础Python基础知识详 ...

  3. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  4. python 基础知识(一)

    python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...

  5. python基础知识讲解——@classmethod和@staticmethod的作用

    python基础知识讲解——@classmethod和@staticmethod的作用 在类的成员函数中,可以添加@classmethod和@staticmethod修饰符,这两者有一定的差异,简单来 ...

  6. python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

    本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...

  7. python 爬虫与数据可视化--python基础知识

    摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...

  8. python基础知识小结-运维笔记

    接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n’等特殊字符的两种方式: a)利用转义字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...

  9. python基础知识部分练习大全

    python基础知识部分练习大全   1.执行 Python 脚本的两种方式 答:1.>>python ../pyhton.py 2. >>python.py   #必须在首行 ...

随机推荐

  1. GitBook制作电子书详细教程(命令行版)

    GitBook 是一款基于 Node.js 开发的开源的工具,可以通过命令行的方式创建电子书项目,再使用 MarkDown 编写电子书内容,然后生成 PDF.ePub.mobi 格式的电子书,或生成一 ...

  2. IIS7.5下发布应用程序备忘

    近期工作需要把应用程序发布升级到IIS7.5中,IIS7部署方式跟IIS6差别还是挺大的. 部署常规方式:新建虚拟目录>转成应用程序. 在本机用http://localhost/别名访问一切正常 ...

  3. 在.htaccess文件中写RewriteRule无效的问题的解决

    近来在Apache Rewrite 拟静态配置时,遇到个问题.写的如下: RewriteEngine onRewriteRule ^/t_(.*)/$ /test.php?id=$1 保存在httpd ...

  4. opengl入门学习

    OpenGL入门学习 说起编程作图,大概还有很多人想起TC的#include <graphics.h>吧? 但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜的640 ...

  5. openssl生成ssl证书

    openssl生成ssl证书 x509证书一般会用到三类文,key,csr,crt. Key 是私用密钥openssl格,通常是rsa算法. Csr 是证书请求文件,用于申请证书.在制作csr文件的时 ...

  6. PSP(11.9~11.16)

    14号 类别c 内容c 开始时间s 结束e 中断I 净时间T 看书 设计模式 15:20 17:10 25m 85m 看书 构建执法 19:00 20:10 0m 70m 15号 类别c 内容c 开始 ...

  7. [C#对sql操作]C#对sql server 2008数据库操作

    using System.Data; using System.Data.SqlClient SqlConnection conn = new SqlConnection(System.Configu ...

  8. Sublime Text

    今天在网上找了个Sublime Text 3 Build 3065 的 license key .在最新的Build 3083 下可以使用,记录下. ----- BEGIN LICENSE ----- ...

  9. 将Web站点由IIS6迁移至IIS7

    最近开始着手逐步将所有的Web站点由Win2003+IIS6迁移至64位Win2008+IIS7,基本还算顺利.这里就把相关内容整理总结一下.首先自然是要安装基本运行环境,包括iis,.net fra ...

  10. ubuntu12.04安装WineQQ2012

    1:下载WineQQ2012-20120531-Longene.deb 2:直接用软件中心安装或者执行命令,进入文件目录执行sudo dpkg -i WineQQ2012-20120531-Longe ...