collections之python基本应用
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基本应用的更多相关文章
- collections(python常用内建模块)
文章来源:https://www.liaoxuefeng.com/wiki/897692888725344/973805065315456 collections collections是Python ...
- [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 ...
- Python基础、collections补充
collections collections是Python数据类型的补充,可以实现Counter计数.可命名元组(namedtuple).默认字典.有序字典.双向队列等功能 参考:http://py ...
- Python 第三篇(下):collections系列、集合(set)、单双队列、深浅copy、内置函数
一.collections系列: collections其实是python的标准库,也就是python的一个内置模块,因此使用之前导入一下collections模块即可,collections在py ...
- Python系列之Collections内置模块(1)
collections 是 python 的内置模块,源码位于 Lib/collections/__init__.py ,该模块提供了通用的数据容器. deque 容器对象 通过 from colle ...
- 【Python】 更多数据类型collections&简易数据文件shelve
■collections collections在python内建的数据类型基础上新增一些实用的数据类型,其目的在于增加代码的可读性?(虽然我自己没怎么用过..) ① deque 双端队列 q = d ...
- python模块(os,sys,hashlib,collections)
列出目录下所有文件 os.listdir('dirname'):列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式返回. 创建文件夹: os.mkdir('文件夹') 创建文件夹 os ...
- 【转】python模块分析之collections(六)
[转]python模块分析之collections(六) collections是Python内建的一个集合模块,提供了许多有用的集合类. 系列文章 python模块分析之random(一) pyth ...
- Python常用模块--collections
collections是Python中一个非常强大的容器数据模块. 1.创建升级版的元组--namedtupe Python的元组(1,2,3)具有不可变性,但是单独的元组在无法满足现有需求时,可以使 ...
随机推荐
- windbg条件断点总结
1 . 条件断点是断点命令 ( bp 或者 bu ) 与j命令或者.if命令一起使用的,后面跟着一个gc命令 0:000> bp Address "j (Condition) 'O ...
- oracle rac的启动与停止
引言:这写篇文章的出处是因为我的一名学生最近在公司搭建RAC集群,但对其启动与关闭的顺序和原理不是特别清晰,我在教学工作中也发现了很多学员对RAC知识了解甚少,因此我在这里就把RAC里面涉及到的最常用 ...
- 【AMQ】之JMS Mesage structure(JMS消息结构)
Δ消息体:JMS API 定义了5种消息格式也叫消息类型,可以使用不同形式发送和接收数据,并可以兼容现有的消息格式 TextMessage,MapMessage,ByteMessage,StreamM ...
- 【异常处理】Springboot对Controller层方法进行统一异常处理
Controller层方法,进行统一异常处理 提供两种不同的方案,如下: 方案1:使用 @@ControllerAdvice (或@RestControllerAdvice), @ExceptionH ...
- python3学习笔记三(数字类型,字符串)
数字(Number)类型 有四种类型:整数.布尔型.浮点数和复数 int整数 bool布尔,如True float浮点数,1.23 complex复数,1+2j.1.2+2.3j 内置的 type() ...
- uoj#187. 【UR #13】Ernd
http://uoj.ac/problem/187 每个点只能从时间,b+a,b-a三维都不大于它的点转移过来,将点按时间分成尽量少的一些段,每段内三维同时非严格单调,每段内的点可能因为连续选一段而产 ...
- 学习笔记之HTML 教程 | 菜鸟教程
HTML 教程 | 菜鸟教程 http://www.runoob.com/html/html-tutorial.html 菜鸟教程在线编辑器 http://www.runoob.com/try/try ...
- Python下发送定时消息给微信好友
""" Description:时间可以改长一点 一分钟一个 Author:Nod Date: Record: #---------------------------- ...
- [UE4]UE4是单线程的吗?
并行与串行 并行是同时在执行,串行是一个接一个地执行 进程与线程 笼统的说,进程是游戏的一次运行,线程是进程里面分配CPU资源的最小单位 类比 1.把世界看成一台计算机 2.世界里面的人可以看成是一个 ...
- [UE4]动态改变UniFormGird子控件的row属性