collections 模块主要提供了五种特殊类型容器,此外还提供了许多抽象基类用于检查类的接口

1、Counter 对象,主要用于统计出现次数,是dict的一个子类,用法与形式和 dict 很类似

Counter([iterable-or-mapping]):初始化一个Counter对象,用mapping初始化不能直接统计,用iterable会直接统计每个迭代对象的出现次数
elements():返回每个对象,出现了几次就输出几次,各对象间次序随机,返回的是itertools.chain对象
items():返回包含对象和出现次数的 tuple 的 list
most_common([n]):返回n个出现次数最多的对象及其次数,含 tuple 的 list 形式返回
subtract([iterable-or-mapping]):两者相减,可以产生负数
update([iterable-or-mapping]):与dict直接替换更新不同,counter执行的是两者的加和

2、deque 对象,是一个双向列表,首尾添加删除元素效率高,可以用于获取文件的最后几行

deque([iterable[, maxlen]]):初始化时指定了 maxlen 则 deque 的元素上限为 maxlen,超过 maxlen 时新添加的元素加入到 deque 尾部,前部元素会被删除
append(x),appendleft(x),extend(iterable),extendleft(iterable):添加元素的函数
clear():清空元素
pop(),popleft():弹出元素
remove(value):移除第一个出现的value
reverse():反转
rotate(n):将n个元素移到另一边,n为负数时从前移动

3、defaultdict 对象,指定默认类型的一种dict,是dict的子类
defaultdict([default_factory[, ...]]):default_factory 即为指定的默认类型,新添加的 key 的 value 会默认为指定类型

4、namedtuple() 函数,创建一个新类,是tuple的子类,可以用指定的名字来访问元素,也可以用下标,当用于从csv读取数据时较为好用
namedtuple(typename, field_names[, verbose=False][, rename=False]):typename为新类的名字,fieldnames为指定的名字,可以用列表也可以用逗号或空格分割的字符串,verbose为True时打印类的定义,rename
可以用装饰器对创建的类添加新功能

5、OrderedDict 对象,除了有顺序外,和普通dict一样,凡是用dict的地方都可以用OrderedDict 替换
OrderedDict([items]):新加入的如果原来就有则覆盖,顺序不变,删了再加则加在最后
popitem(last=True):弹出最后一组,若False则弹出第一组

Python2.7-collections的更多相关文章

  1. 交叉编译Python-2.7.13到ARM(aarch32)—— 支持sqlite3

    作者:彭东林 邮箱:pengdonglin137@163.com QQ: 405728433 环境 主机: ubuntu14.04 64bit 开发板: qemu + vexpress-a9 (参考: ...

  2. Python快速入门教程【转】

    第一章 Python基础知识 1.1 介绍      1.1.1 特点      Python是一种面向对象.解释型计算机程序设计语言.语法简洁清晰,强制用空白符作为语句缩进.      Python ...

  3. [python]CentOS 6下安装Python2.7

    安装方法 如果在CentOS上自己编译安装过python2.7,使用过程中会发现有些标准库没有安装之类的问题. 逛别人博客的时候发现,一个便捷的方法:使用RHSCL的全称是Red Hat Softwa ...

  4. 【转】Python3.x和Python2.x的区别

    这个星期开始学习Python了,因为看的书都是基于Python2.x,而且我安装的是Python3.1,所以书上写的地方好多都不适用于Python3.1,特意在Google上search了一下3.x和 ...

  5. python2.x和3.x的区别

    这个星期开始学习Python了,因为看的书都是基于 Python2.x,而且我安装的是Python3.1,所以书上写的地方好多都不适用于Python3.1,特意在Google上search了一下 3. ...

  6. 【python3】collections系列介绍

    文章来源:http://www.jb51.net/article/48771.htm (http://www.cnblogs.com/wushank/p/5122786.html) 修改人:天马流行拳 ...

  7. Python2.x与Python3.x的区别

    这个星期开始学习Python了,因为看的书都是基于Python2.x,而且我安装的是Python3.1,所以书上写的地方好多都不适用于Python3.1,特意在Google上search了一下3.x和 ...

  8. 我与python3擦肩而过(一)—— Dict与collections.OrderredDict邂逅

    最近一直在撸Python Data Analysis上的代码(书是基于Python2的,小白我用的python3),所以我下的时候多少有些改动. 这是9.4中的nltk词频分析关于Dict_key的问 ...

  9. Python3.x和Python2.x的区别-转

    这个星期开始学习Python了,因为看的书都是基于Python2.x,而且我安装的是Python3.1,所以书上写的地方好多都不适用于Python3.1,特意在Google上search了一下3.x和 ...

  10. 详解python2 和 python3的区别

    看到这个题目大家可能猜到了我接下来要讲些什么,呵呵,对了,那就是列出这两个不同版本间的却别!搜索一下大家就会知道,python有两个主要的版本,python2 和 python3 ,但是python又 ...

随机推荐

  1. 在pycharm中进行ORM操作

    打开manage.py, 复制 import..... if.......os.....  导入django,开启django, 导入app中的models  orm操作 import os if _ ...

  2. 《JavaScript DOM 编程艺术》读书笔记

    <JS DOM 编程艺术>笔记 一. 三种节点 元素节点.文本节点.属性节点 二. 获取元素 1.document.getElementById 2.(element)document.g ...

  3. python的深浅拷贝以及fromkeys的用法

    1.join()的用法:使用前面的字符串.对后面的列表进行拼接,拼接结果是一个字符串 # lst = ["alex","dsb",'wusir','xsb'] ...

  4. Jquery中on绑定的一些小坑

    ---恢复内容开始--- 今天我们来说说关于JQuery中事件绑定中on绑定的一些小问题,直接上代码了,大家拷下去就可以用 <!DOCTYPE html> <html lang=&q ...

  5. CAT3 SAP tcode - Time Sheet: Display Times

    CAT3 SAP tcode - Time Sheet: Display Times CAT3 (Time Sheet: Display Times) is a standard SAP transa ...

  6. DevExpress.XtraCharts曲线上的点所对应的坐标值

    private void chartControl_ObjectSelected(object sender, HotTrackEventArgs e) { e.Cancel = false; XYD ...

  7. 网络基础 HTTP协议之http url简介

    HTTP协议之http url简介 by:授客 QQ:1033553122 http url简介 http url通过http协议,用于定位网络资源,是一种特殊类型的URI(统一资源定位) http_ ...

  8. LeetCode题解之Binary Tree Postorder Traversal

    1.题目描述 2.问题分析 递归 3.代码 vector<int> postorderTraversal(TreeNode* root) { vector<int> v; po ...

  9. linq not in 查询

    想要的sql: select A.* from BL_BCSS_Invoice A join BL_BCSS_OfflineInvoice B on A.ID!=B.InvoiceID; 不知道如何写 ...

  10. SqlServer 全文索引指令大全(转载)

    -- 创建测试表 -- DROP TABLE FullTextIndexing CREATE TABLE FullTextIndexing ( ID ,) NOT NULL, Sentence VAR ...