Python2.7-collections
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的更多相关文章
- 交叉编译Python-2.7.13到ARM(aarch32)—— 支持sqlite3
作者:彭东林 邮箱:pengdonglin137@163.com QQ: 405728433 环境 主机: ubuntu14.04 64bit 开发板: qemu + vexpress-a9 (参考: ...
- Python快速入门教程【转】
第一章 Python基础知识 1.1 介绍 1.1.1 特点 Python是一种面向对象.解释型计算机程序设计语言.语法简洁清晰,强制用空白符作为语句缩进. Python ...
- [python]CentOS 6下安装Python2.7
安装方法 如果在CentOS上自己编译安装过python2.7,使用过程中会发现有些标准库没有安装之类的问题. 逛别人博客的时候发现,一个便捷的方法:使用RHSCL的全称是Red Hat Softwa ...
- 【转】Python3.x和Python2.x的区别
这个星期开始学习Python了,因为看的书都是基于Python2.x,而且我安装的是Python3.1,所以书上写的地方好多都不适用于Python3.1,特意在Google上search了一下3.x和 ...
- python2.x和3.x的区别
这个星期开始学习Python了,因为看的书都是基于 Python2.x,而且我安装的是Python3.1,所以书上写的地方好多都不适用于Python3.1,特意在Google上search了一下 3. ...
- 【python3】collections系列介绍
文章来源:http://www.jb51.net/article/48771.htm (http://www.cnblogs.com/wushank/p/5122786.html) 修改人:天马流行拳 ...
- Python2.x与Python3.x的区别
这个星期开始学习Python了,因为看的书都是基于Python2.x,而且我安装的是Python3.1,所以书上写的地方好多都不适用于Python3.1,特意在Google上search了一下3.x和 ...
- 我与python3擦肩而过(一)—— Dict与collections.OrderredDict邂逅
最近一直在撸Python Data Analysis上的代码(书是基于Python2的,小白我用的python3),所以我下的时候多少有些改动. 这是9.4中的nltk词频分析关于Dict_key的问 ...
- Python3.x和Python2.x的区别-转
这个星期开始学习Python了,因为看的书都是基于Python2.x,而且我安装的是Python3.1,所以书上写的地方好多都不适用于Python3.1,特意在Google上search了一下3.x和 ...
- 详解python2 和 python3的区别
看到这个题目大家可能猜到了我接下来要讲些什么,呵呵,对了,那就是列出这两个不同版本间的却别!搜索一下大家就会知道,python有两个主要的版本,python2 和 python3 ,但是python又 ...
随机推荐
- Three.js开发指南---学习使用几何体(第五章)
一 基础几何体 1 二维图形:二维图形都是基于x和y轴构建的,即展示的形式就是他们都是“直立”的,如果希望这些二维图形躺下,则需要将几何体沿着x轴向后旋转1/4圈 mesh.rotation.x=-M ...
- 使用ThinkPHP实现分页功能
前几篇(上传,缩略图,验证码,自动验证表单)文章介绍的功能实现都是基于ThinkPHP框架封装好的类进行实现的,所以这次自己写一个分页类在框架中使用. 首先在根目录建一个Tools文件夹,在Tools ...
- python解释器介绍以及Pycharm的破解
python语言是弱类型解释型语言,弱类型指的是没有强制规定它的类型. 由于是解释型语言,则必有解释器与其匹配,根据不同的工作环境以及需求,python的解释器有很多种, 官方推荐的是CPython, ...
- Codeforces Round #545 (Div. 1) 简要题解
这里没有翻译 Codeforces Round #545 (Div. 1) T1 对于每行每列分别离散化,求出大于这个位置的数字的个数即可. # include <bits/stdc++.h&g ...
- 【代码笔记】iOS-json文件的使用
一,工程图. 二,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the ...
- 精选20个高品质的免费素材,可以下载PSD格式
GraphicBurger 这个站点免费和收费的都有,注意区分 365psd 在日本比较有名的免费素材站. Pixeden Techandall Premium pixels 全部免费! Design ...
- JS 显示隐藏DIV
JS关闭DIV HTML <div id="bar1"> <p onclick="removeElement('bar1')">关闭&l ...
- 手把手在MyEclipse中搭建Hibernate开发环境
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/53414303冷血之心的博客) 在MyEclipse中如何搭建Hib ...
- 只有mdf文件的恢复方法
EXEC sp_attach_single_file_db @dbname = 'AdventureWorksDW2012_Data',@physname = 'D:\Program Files (x ...
- Android Studio引用自定义的framework.jar包
1.在app/libs/目录下添加framework.jar包. 2.打开build->Edit Libraries and Dependencies,把libs/framework.jar放到 ...