python collections模块的使用


Posted in Python onOctober 16, 2020

collections模块

collections模块:提供一些python八大类型以外的数据类型

python默认八大数据类型:

- 整型

- 浮点型

- 字符串

- 字典

- 列表

- 元组

- 集合

- 布尔类型

1、具名元组

具名元组只是一个名字

应用场景:

① 坐标

# 应用:坐标
from collections import namedtuple

# 将"坐标"变成"对象"的名字
# 传入可迭代对象必须是有序的
point = namedtuple("坐标", ["x", "y" ,"z"])  # 第二个参数既可以传可迭代对象
# point = namedtuple("坐标", "x y z")  # 也可以传字符串,但是字符串之间以空格隔开
p = point(1, 2, 5)  # 注意元素的个数必须跟namedtuple中传入的可迭代对象里面的值数量一致

# 会将1 --> x , 2 --> y , 5 --> z
print(p)
print(p.x)
print(p.y)
print(p.z)

执行结果:

坐标(x=1, y=2, z=5)
1
2
5

② 扑克牌

# 扑克牌
from collections import namedtuple

# 获取扑克牌对象
card = namedtuple("扑克牌", "color number")

# 产生一张张扑克牌
red_A = card("红桃", "A")
print(red_A)
black_K = card("黑桃", "K")
print(black_K)

执行结果:

扑克牌(color='红桃', number='A')
扑克牌(color='黑桃', number='K')

③ 个人信息

# 个人的信息
from collections import namedtuple

p = namedtuple("china", "city name age")

ty = p("TB", "ty", "31")
print(ty)

执行结果:

china(city='TB', name='ty', age='31')

2、有序字典

python中字典默认是无序的

collections中提供了有序的字典: from collections import OrderedDict

# python默认无序字典
dict1 = dict({"x": 1, "y": 2, "z": 3})
print(dict1, "  ------>  无序字典")
print(dict1.get("x"))


# 使用collections模块打印有序字典
from collections import OrderedDict

order_dict = OrderedDict({"x": 1, "y": 2, "z": 3})
print(order_dict, "  ------>  有序字典")
print(order_dict.get("x"))  # 与字典取值一样,使用.get()可以取值
print(order_dict["x"])  # 与字典取值一样,使用key也可以取值
print(order_dict.get("y"))
print(order_dict["y"])
print(order_dict.get("z"))
print(order_dict["z"])

执行结果:

{'x': 1, 'y': 2, 'z': 3}  ------>  无序字典
1
OrderedDict([('x', 1), ('y', 2), ('z', 3)])  ------>  有序字典
1
1
2
2
3
3

以上就是python collections模块的使用的详细内容,更多关于python collections模块的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
详细介绍Python中的偏函数
Apr 27 Python
python文件的md5加密方法
Apr 06 Python
python分割列表(list)的方法示例
May 07 Python
BP神经网络原理及Python实现代码
Dec 18 Python
python添加模块搜索路径和包的导入方法
Jan 19 Python
python解析xml简单示例
Jun 21 Python
python 一个figure上显示多个图像的实例
Jul 08 Python
python-opencv获取二值图像轮廓及中心点坐标的代码
Aug 27 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
Feb 11 Python
Django 实现将图片转为Base64,然后使用json传输
Mar 27 Python
Spring @Enable模块驱动原理及使用实例
Jun 23 Python
Django中session进行权限管理的使用
Jul 09 Python
python 如何使用find和find_all爬虫、找文本的实现
Oct 16 #Python
Django实现随机图形验证码的示例
Oct 15 #Python
如何使用Python自动生成报表并以邮件发送
Oct 15 #Python
如何在Win10系统使用Python3连接Hive
Oct 15 #Python
Python进行特征提取的示例代码
Oct 15 #Python
Python通过递归函数输出嵌套列表元素
Oct 15 #Python
Python安装第三方库攻略(pip和Anaconda)
Oct 15 #Python
You might like
PHP 各种排序算法实现代码
2009/08/20 PHP
PHP文件读写操作之文件读取方法详解
2011/01/13 PHP
php文件上传类完整实例
2016/05/14 PHP
TP3.2.3框架使用CKeditor编辑器在页面中上传图片的方法分析
2019/12/31 PHP
如何在Web页面上直接打开、编辑、创建Office文档
2007/03/12 Javascript
Javascript和Ajax中文乱码吐血版解决方案
2009/12/21 Javascript
JavaScript 嵌套函数指向this对象错误的解决方法
2010/03/15 Javascript
基于jquery的获取mouse坐标插件的实现代码
2010/04/01 Javascript
javascript实现网页字符定位的方法
2015/07/14 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
2015/08/25 Javascript
js实现input密码框提示信息的方法(附html5实现方法)
2016/01/14 Javascript
JavaScript中的Reflect对象详解(ES6新特性)
2016/07/22 Javascript
全面接触神奇的Bootstrap导航条实战篇
2016/08/01 Javascript
Bootstrap源码解读按钮(5)
2016/12/23 Javascript
Angularjs单选改为多选的开发过程及问题解析
2017/02/17 Javascript
angularjs项目的页面跳转如何实现(5种方法)
2017/05/25 Javascript
JavaScript面向对象精要(上部)
2017/09/12 Javascript
原生JS上传大文件显示进度条 php上传文件代码
2020/03/27 Javascript
JS中使用cavas截图网页并解决跨域及模糊问题
2018/11/13 Javascript
JS中使用new Option()实现时间联动效果
2018/12/10 Javascript
vue通过数据过滤实现表格合并
2020/11/30 Javascript
layui 监听select选择 获取当前select的ID名称方法
2019/09/24 Javascript
微信小程序多列表渲染数据开关互不影响的实现
2020/06/05 Javascript
详解Python中的array数组模块相关使用
2016/07/05 Python
简单易懂的python环境安装教程
2017/07/13 Python
Python3网络爬虫中的requests高级用法详解
2019/06/18 Python
Python实现的远程文件自动打包并下载功能示例
2019/07/12 Python
Python中bisect的使用方法
2019/12/31 Python
PyCharm第一次安装及使用教程
2020/01/08 Python
基于Pyinstaller打包Python程序并压缩文件大小
2020/05/28 Python
详解css3中 text-fill-color属性
2019/07/08 HTML / CSS
Janie and Jack美国官网:GAP旗下的高档童装品牌
2019/09/09 全球购物
农民工创业典型事迹
2014/01/25 职场文书
企业消防安全制度
2014/02/02 职场文书
党员自我对照检查材料
2014/08/19 职场文书
仓库管理员岗位职责
2015/02/03 职场文书