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又 ...
随机推荐
- Android插件化
http://www.androidblog.cn/index.php/Index/detail/id/16# Android Hotfix 新方案——Amigo 源码解读 https://www.d ...
- python内置函数每日一学 -- abs()
abs(x) 官方文档解释: Return the absolute value of a number. The argument may be an integer or a floating p ...
- node 搭建静态服务
对于Node.js新手,搭建一个静态资源服务器是个不错的锻炼,从最简单的返回文件或错误开始,渐进增强,还可以逐步加深对http的理解. 基本功能 不急着写下第一行代码,而是先梳理一下就基本功能而言有哪 ...
- 【读书笔记】iOS-iOS定位
iOS提供3种不同的定位途径: 1,WiFi定位,通过查询一个WiFi路由器的地理位置信息,比较省电:iPhone,iPod touch和iPad都可以采用: 2,蜂窝式移动电话基站定位,通过移动运营 ...
- AngularJS学习 之 创建项目
1.本机搭建好AngularJS运行需要的环境 2.利用Yeoman来创建项目目录 以管理员身份打开cmd,输入 yo angular StockDog 然后按回车,安装进程开始会问几个问题,比如要不 ...
- SpringBoot中redis的使用介绍
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统. Redis是一个开源的使用ANSI C语言编写.遵守B ...
- 使用 PowerShell 将数据磁盘附加到 Windows VM
本文介绍如何使用 PowerShell 将新磁盘和现有磁盘附加到 Windows 虚拟机. 在开始之前,请查看以下提示: 虚拟机的大小决定了可以附加多少个磁盘. 有关详细信息,请参阅虚拟机大小. 若要 ...
- MySQL: Connection Character Sets and Collations
character_set_server collation_servercharacter_set_databasecollation_database character_set_clientch ...
- 判断Exception类中是否有InnerException属性
public static class ExceptionExtend { /// <summary> /// 利用反射来判断对象是否包含某个属性 /// </summary> ...
- ajax status 错误
status **:未被始化 status **:请求收到,继续处理 status **:操作成功收到,分析.接受 status **:完成此请求必须进一步处理 status **:请求包含一个错误语 ...