python3之模块collections
1.计数器(counter)
counter是对字典的方法,用来追踪值的出现次数;具备字典的所有功能和自己的功能。
>>> from collections import Counter
>>> d2 = Count
>>> d2 = Counter('abbcccddd') #对值计数
>>> print(d2)
Counter({'d': 3, 'c': 3, 'b': 2, 'a': 1})
>>> print(type(d2))
<class 'collections.Counter'>
>>> d2 = Counter('abbcccddd')
>>> for i in d2.elements(): #计数元素迭代器
... print(i)
...
b
b
a
d
d
d
c
c
c
>>> d2.clear() #清空元素
>>> print(d2)
Counter() >>> d3 = d2.copy() #拷贝
>>> d3
Counter({'d': 3, 'c': 3, 'b': 2, 'a': 1}) >>> d2.update('ddffffff') #更新
>>> d2
Counter({'f': 6, 'd': 5, 'c': 3, 'b': 2, 'a': 1}) >>> d2.subtract('fffff') #减去元素个数
>>> d2
Counter({'d': 5, 'c': 3, 'b': 2, 'a': 1, 'f': 1}) >>> d4 = d2.pop('f') #提取dict的key
>>> d4
1
>>> d2
Counter({'d': 5, 'c': 3, 'b': 2, 'a': 1})
2、有序字典(OrderedDict)
OrderedDict是对字典的补充,它可以记住字典元素添加的顺序。
>>> from collections import OrderedDict
>>> dic1 = OrderedDict({'k1':'v1','k2':'v2','k4':'v4','k3':'v3'})
>>> dic1 #创建有序列的字典
OrderedDict([('k4', 'v4'), ('k1', 'v1'), ('k2', 'v2'), ('k3', 'v3')])
>>> print(type(dic1))
<class 'collections.OrderedDict'>
>>> dic1.popitem() #默认提取最后要给key
('k3', 'v3')
>>> dic1
OrderedDict([('k4', 'v4'), ('k1', 'v1'), ('k2', 'v2')])
>>> dic1.move_to_end('k4') #将指定key移到最后
>>> dic1
OrderedDict([('k1', 'v1'), ('k2', 'v2'), ('k4', 'v4')])
3、默认字典(defaultdict)
defaultdict是对字典的类型补充,它默认给字典的值设置了一个类型
>>> from collections import defaultdict
>>> dict1 = defaultdict(list) #创建默认字典
>>> dict1
defaultdict(<class 'list'>, {})
>>> print(type(dict1))
<class 'collections.defaultdict'>
>>> for i in range(20): #实例
... if i%2 == 0:
... dict1['k1'].append(i)
... else:
... dict1['k2'].append(i)
...
>>> dict1
defaultdict(<class 'list'>, {'k1': [0, 2, 4, 6, 8, 10, 12, 14, 16, 18], 'k2': [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]})
4、可命名元组(namedtuple)
根据namedtuple可以创建一个包含tuple所有功能以及其他功能的类型
>>> from collections import namedtuple
>>> tup1 = namedtuple('tup1',['x','y','z','u']) #创建可命名元组
>>> obj = tup1(111,22,333,4444) #创建对象
>>> print(obj.x) #输出对象序列的值
111
>>> print(obj.y)
22
>>> print(obj.z)
333
>>> print(obj.u)
4444
python3之模块collections的更多相关文章
- python模块--collections
python的内建模块collections有几个关键的数据结构,平常在使用的时候,开发者可以直接调用,不需要自己重复制造轮子,这样可以提高开发效率. 1. deque双端队列 平常我们使用的pyth ...
- Python之常用模块--collections模块
认识模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的 ...
- [转]python3之模块psutil系统性能信息
转自:https://www.cnblogs.com/zhangxinqi/p/9106265.html 阅读目录 1.psutil模块安装 2.获取CPU信息 3.内存信息 4.磁盘信息 5.网络信 ...
- 【转】Python3 configparse模块(配置)
[转]Python3 configparse模块(配置) ConfigParser模块在python中是用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(s ...
- day22 模块-collections,time,random,pickle,shelve等
一.引入模块的方式: 1. 认识模块 模块可以认为是一个py文件. 模块实际上是我们的py文件运行后的名称空间 导入模块: 1. 判断sys.modules中是否已经导入过该模块 2. 开辟一个内存 ...
- Python3 operator模块关联代替Python2 cmp() 函数
Python2 cmp() 函数 描述 cmp(x,y) 函数用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1. Python ...
- Python3 logging 模块
Python3 logging模块 日志模块: 用于便捷记录日志且线程安全的模块 CRITICAL = 50 FATAL = CRITICAL ERROR = 40 WARNING = 30 WARN ...
- python3 selenium模块Chrome设置代理ip的实现
python3 selenium模块Chrome设置代理ip的实现 selenium模块Chrome设置代理ip的实现代码: from selenium import webdriver chrome ...
- python3 导入模块
python3导入模块和python2 有些不同 需要指定相对目录 如,在Project下有一个nlp目录里面有一个ltp模块,则 from n1.ltp import Clawer
随机推荐
- UAC
UAC and Security Shield Icon UAC in Wiki User Account Control (UAC) is a technology and security inf ...
- Chrome development tools学习笔记(5)
调试JavaScript 随着如今JavaScript应用的越来越广泛,在面对前端工作的时候,开发人员须要强大的调试工具来高速有效地解决这个问题.我们文章的主角,Chrome DevTools就提供了 ...
- Android ListView Adapter的getItemViewType和getViewTypeCount多种布局
<Android ListView Adapter的getItemViewType和getViewTypeCount多种布局> 在Android的ListView中.假设在一个Lis ...
- 在linux上手动搭建svn服务器
svn服务器的搭建 环境: linux CentOS 7 安装: 1.安装svn服务器 yum install subversion 2.查看版本 svnserve --version 3.创建版本库 ...
- xml基本语法(2)
本节要点: 了解XML的文档声明 了解XML的元素.命名规则.属性.元素内容.处理指令等概念 1 XML文档声明 表示该文档是一个XML文档,以及遵循哪个XML版本的规范. 规范:<?xml 版 ...
- MPSOC之2——ubuntu环境配置及petalinux安装
MPSOC的linux开发需要使用petalinux,选择Ubuntu操作系统. 1.Ubuntu 1.1. Ubuntu安装 版本16.04.03 vmare版本:12.0 安装时注意选择" ...
- Idea在导入有maven项目时,不能自动识别pom.xml
当在idea中导入maven项目时,不能自动识别pom文件,显示为普通橙色xml文件. 解决方法:点击最右侧侧边栏,点击添加(蓝的的小加号),选择你导入项目的pom.xml文件
- 应用activeMQ消息中间件同步索引库
mq是一个消息服务器: 安装包内置了tomcat,直接登录访问,登录:http://ip:8161/admin/ (相当于dubbo的moniter监控中心) admin admin传统串行化, ...
- Data Base mongodb driver2.5环境注意事项
mongodb driver2.5环境注意事项 一.问题: 如果使用vs2012开发就会报这个错误: 未能加载文件或程序集“System.Runtime.InteropServices.Runtime ...
- Python学习日记:day4
列表 li=['alex',[1,2,3] ,'wusir','egon','女神','taibai']#列表 l1 = li[0] print(l1)#alex l2 = li[1] print ( ...