Collections主要功能

  • Counter 类
  • defaultdict 类
  • namedtuple 类
  • deque类
  • orderedDict类

Counter 是一个有助于 hashable 对象计数的 dict 子类。它是一个无序的集合,其中hashable对象的元素存储为键,它们的计数存储为值,计数可以为任意的整数,包括零和负数

可以在python的shell中查看Counter的帮助信息

c=collections.Counter('from collections import Counter')
print c

Counter({'o': 5, ' ':
3, 'r': 3, 't': 3, 'c': 2, 'e': 2, 'i': 2, 'm': 2, 'l': 2, 'n': 2, 'f': 1, 'p':
1, 's': 1, 'u': 1, 'C': 1})
print c.most_common(4)

[('o', 5), (' ', 3),
('r', 3), ('t', 3)]
print sorted(c) 对字典进行排序

[' ', 'C', 'c', 'e',
'f', 'i', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'u']
print sum(c.values())计算字典的值
print c.keys()返回字典的键

Defaultdict的作用是如果字典的key不存在,使用的时候也不抛出异常,而返回一个默认值,默认值为None

dic=collections.defaultdict(lambda: 'N/A')
dic['a']='abd'
print dic['a']
print dic['b'] 返回N/A

namedtuple命名元组有助于对元组每个位置赋予意义,并且让我们的代码有更好的可读性和自文档性。你可以在任何使用元组地方使用命名元组

point=collections.namedtuple('point',['x','y','z'])
n=point(2,5,78)
print n.x

deque,使用list 存储数据时,按照索引访问元素很快,但是插入和删除元素就很慢了,因为list是线性存储,数据量大的时候,插入和删除效率很低。deque是为了高效实现插入和删除操作的双向列表,适合用于队列和栈。

q=collections.deque([1,2,3])
q.appendleft(5)
print q
q.popleft()
print q

 

字典是无序的。orderedDict是有序字典的应用。OrderedDict 的有序性是按照插入的顺序,而不是KEY的顺序。
d=dict([('a', 1), ('b', 2),
('c', 3)])
print d  {'a': 1, 'c': 3, 'b': 2}

od = collections.OrderedDict([('a', 1), ('b', 2),
('c', 3)])
print od  OrderedDict([('a',
1), ('b', 2), ('c', 3)])

collections之python基本应用的更多相关文章

  1. collections(python常用内建模块)

    文章来源:https://www.liaoxuefeng.com/wiki/897692888725344/973805065315456 collections collections是Python ...

  2. [Python] Create Unique Unordered Collections in Python with Set

    A set is an unordered collection with no duplicate items in Python. In this lesson, you will learn h ...

  3. Python基础、collections补充

    collections collections是Python数据类型的补充,可以实现Counter计数.可命名元组(namedtuple).默认字典.有序字典.双向队列等功能 参考:http://py ...

  4. Python 第三篇(下):collections系列、集合(set)、单双队列、深浅copy、内置函数

     一.collections系列: collections其实是python的标准库,也就是python的一个内置模块,因此使用之前导入一下collections模块即可,collections在py ...

  5. Python系列之Collections内置模块(1)

    collections 是 python 的内置模块,源码位于 Lib/collections/__init__.py ,该模块提供了通用的数据容器. deque 容器对象 通过 from colle ...

  6. 【Python】 更多数据类型collections&简易数据文件shelve

    ■collections collections在python内建的数据类型基础上新增一些实用的数据类型,其目的在于增加代码的可读性?(虽然我自己没怎么用过..) ① deque 双端队列 q = d ...

  7. python模块(os,sys,hashlib,collections)

    列出目录下所有文件 os.listdir('dirname'):列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式返回. 创建文件夹: os.mkdir('文件夹')    创建文件夹 os ...

  8. 【转】python模块分析之collections(六)

    [转]python模块分析之collections(六) collections是Python内建的一个集合模块,提供了许多有用的集合类. 系列文章 python模块分析之random(一) pyth ...

  9. Python常用模块--collections

    collections是Python中一个非常强大的容器数据模块. 1.创建升级版的元组--namedtupe Python的元组(1,2,3)具有不可变性,但是单独的元组在无法满足现有需求时,可以使 ...

随机推荐

  1. 从Excel文件中读取内容

    从Excel文件中读取内容 global::System.Web.HttpPostedFileBase file = Request.Files["txtFile"]; strin ...

  2. Zuul 限流

    /** * 限流 */ @Component public class RateLimiterFilter extends ZuulFilter { //1秒钟100个令牌 private stati ...

  3. Linux重定向及nohup不输出的方法

    转载自:http://blog.csdn.net/qinglu000/article/details/18963031   先说一下linux重定向: 0.1和2分别表示标准输入.标准输出和标准错误信 ...

  4. 正则匹配获取HTML图片地址,正则匹配获取HTML内容

    //正则匹配获取HTML图片地址preg_match_all('/<img.*?src="(.*?)".*?>/is', $str, $array); if (isse ...

  5. SPI 核的寄存器空间

    SPI 核的寄存器空间 寄存器的地址与定义: 寄存器描述与配置: 复位寄存器: 控制寄存器: 状态寄存器: 数据发送寄存器: 在使用DTR之前,一定要经过复位处理. 对于DTR的操作中,首先写入com ...

  6. MySQL 内存溢出

    select EVENT_NAME ,SUM_NUMBER_OF_BYTES_ALLOC from memory_summary_global_by_event_name order by SUM_N ...

  7. 放一个Dynamicinputs corresponding to Dynamicknobs的Node源码

    static const char* const CLASS = "AddInputsSol"; static const char* const HELP = "Add ...

  8. hadoop HA分布式集群搭建

    概述 hadoop2中NameNode可以有多个(目前只支持2个).每一个都有相同的职能.一个是active状态的,一个是standby状态的.当集群运行时,只有active状态的NameNode是正 ...

  9. Firefox不支持event解决方法

    IE 中可以直接使用event 对象,而FF 中则不可以,解决方法之一如下: var theEvent = window.event || arguments.callee.caller.argume ...

  10. AIX查询当前目录下各文件及目录大小

    AIX下要查询某个目录下各个文件或目录的占用空间大小 可以对du命令增加一个别名alias 放在~/.profile里 alias dus='du -sg ./* |sort' s表示文件和目录都是显 ...