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

转载于:https://www.cnblogs.com/FWF1944/p/10878317.html

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

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

    深浅copy 和很多语言一样,Python中也分为简单赋值.浅拷贝.深拷贝这几种"拷贝"方式. 在学习过程中,一开始对浅拷贝理解很模糊.不过经过一系列的实验后,我发现对这三者的概念 ...

  2. Python基础知识笔记

    文章目录 Python基础知识 教程:https://www.liaoxuefeng.com/wiki/1016959663602400 内置函数:https://docs.python.org/3/ ...

  3. python基础知识资料-Python基础知识汇总

    原标题:Python基础知识汇总 1.Anaconda的安装 百度Anaconda的官网,下载左边的Python3.X版本 然后是设置路径,最后给出Jupyter notebook.具体参考: 猴子: ...

  4. python基础知识培训价格_Python基础知识的学习

    看到有人推荐Jupyter notebook中markdown另存为md文件的方法,可以将文档直接导入到知乎里.自己尝试了下,效果很好.文档中为Python基础知识的学习和练习内容. 数据类型:字符串 ...

  5. 1、Python 基础知识总结

    1.Python 简介 Python 是一门简单易学的,面向对象的,解释型的脚本语言,也是一种开源的.可移植性强的.可扩展性强的高级编程语言,常用于科学计算与人工智能.WEB 开发.金融.云计算等领域 ...

  6. Python基础知识总结

    1. Python基础知识 1.1  Python历史 1.1.1 Python起源 Python的作者,Guido von Rossum,荷兰人.1982年,Guido从阿姆斯特丹大学获得了数学和计 ...

  7. TensorFlow实战之Python基础知识笔记

    Python基础知识目录 一.初始Python 1. 解释和编译 2. Python语言特点 3. Python基础语法 二.基础知识 1. 数据类型 2. 常量.变量 3. 运算符 4. 条件语句 ...

  8. python基础知识测试题_Python中的单元测试—基础知识

    python基础知识测试题 Unit testing is the number one skill which separates people who just finished their de ...

  9. Python基础知识与常用数据类型

    Python基础知识与常用数据类型 目录 Python基础知识与常用数据类型 一.Python概述: 二.Python中的基础语法: 三.Python内置数据结构: 4.附录 一.Python概述: ...

  10. python基础知识资料-Python基础知识梳理 - 第02部分

    本文是Python基础知识的第二篇, 主要是对内置对象类型的介绍, 涉及的类型如下表. 数字类型 在Python中, 数字并不是一个真正的对象类型, 而是一组类似类型的分类, 如整数和浮点数, 复数等 ...

最新文章

  1. 进化算法_遗传算法相关资料
  2. 怎样使用Debussy+ModelSim快速查看前仿真波形
  3. 如何提高PyTorch“炼丹”速度?这位小哥总结了17种方法,可直接上手更改的那种...
  4. sublime Text3插入参考文献问题
  5. java线程深入_深入聊聊Java多线程
  6. 不同级别的Java开发人员的应聘要求
  7. 虚拟机的安装中遇到的问题(WIN10主机)
  8. 没事学学docker(二):本地Centos7和阿里云服务器安装docker及其解决安装出现的问题
  9. 图像特征:突出显示稀疏突出区域Image Signature:Highlighting Sparse Salient Regions
  10. 每日N题—数据结构题集
  11. autocad不能画图_最新AutoCAD软件+插件合集+视频讲解,高效实用,限时领
  12. HTML 显示梯形图片
  13. 3D Touch详细实例介绍之一
  14. 智慧数字经营有什么作用
  15. 麦当劳巨无霸汉堡合作超人气动漫《机动战士高达》
  16. Git 修改前面提交commit的名字
  17. Book Sharing
  18. java中取值保留小数点后两位的四种方法
  19. 关于Spring容器中定时器到时执行会出现两个线程同时执行的问题
  20. 网站被降权了怎么办?被降权后的正确处理方法

热门文章

  1. Python 进阶之路 (五) map, filter, reduce, zip 一网打尽
  2. IoC容器9——基于注解的容器配置
  3. 《Nmap渗透测试指南》—第2章2.8节ICMP Ping Types扫描
  4. 如何使用JMeter来实现更大批量的并发的解决方案(即如何设置controller和Agent)
  5. CSS Flex-box示例代码
  6. .Net 中的序列化与反序列化[概述]
  7. Symbian手记【二】 —— Symbian对象构造
  8. project 2013使用记录
  9. 针对低网速的性能优化
  10. Linux系统中用DNW向ARM开发板下载程序