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 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
Mar 20 Python
python修改list中所有元素类型的三种方法
Apr 09 Python
详解利用django中间件django.middleware.csrf.CsrfViewMiddleware防止csrf攻击
Oct 09 Python
解决pycharm无法识别本地site-packages的问题
Oct 13 Python
使用numba对Python运算加速的方法
Oct 15 Python
解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
Oct 17 Python
解决Pycharm调用Turtle时 窗口一闪而过的问题
Feb 16 Python
python 实现交换两个列表元素的位置示例
Jun 26 Python
在python image 中实现安装中文字体
May 16 Python
python中使用asyncio实现异步IO实例分析
Feb 26 Python
Python-OpenCV教程之图像的位运算详解
Jun 21 Python
Python自动化测试PO模型封装过程详解
Jun 22 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安全之直接用$获取值而不$_GET 字符转义
2012/06/03 PHP
php准确计算复活节日期的方法
2015/04/18 PHP
PHP分页初探 一个最简单的PHP分页代码的简单实现
2016/06/21 PHP
yii插入数据库防并发的简单代码
2017/05/27 PHP
PHP面向对象之领域模型+数据映射器实例(分析)
2017/06/21 PHP
PHP封装请求类实例分析【基于Yii框架】
2019/10/17 PHP
Javascript 不能释放内存.
2006/09/07 Javascript
Bookmarklet实现启动jQuery(模仿 云输入法)
2010/09/15 Javascript
jQuery学习笔记之jQuery动画效果
2013/09/09 Javascript
jQuery ajax dataType值为text json探索分享
2013/09/23 Javascript
jquery遍历checkbox的注意事项说明
2014/02/21 Javascript
jquery用data方法获取某个元素上的事件
2014/06/23 Javascript
Node.js中使用mongoskin操作mongoDB实例
2014/09/28 Javascript
不想让浏览器运行javascript脚本的方法
2015/11/20 Javascript
js父页面中使用子页面的方法
2016/01/09 Javascript
vue.js+boostrap项目实践(案例详解)
2016/09/21 Javascript
js内置对象处理_打印学生成绩单的简单实现
2016/09/24 Javascript
浅谈js for循环输出i为同一值的问题
2017/03/01 Javascript
JS实现页面打印功能
2017/03/16 Javascript
详解Vue结合后台的列表增删改案例
2018/08/21 Javascript
浅谈JavaScript闭包
2019/04/09 Javascript
M2实现Nodejs项目自动部署的方法步骤
2019/05/05 NodeJs
微信小程序HTTP请求从0到1封装
2019/09/09 Javascript
解决vue下载后台传过来的乱码流的问题
2020/12/05 Vue.js
[38:40]2018DOTA2亚洲邀请赛 4.6淘汰赛 mineski vs LGD 第一场
2018/04/10 DOTA
[01:00:14]DOTA2官方TI8总决赛纪录片 真视界True Sight
2019/01/16 DOTA
python实现K近邻回归,采用等权重和不等权重的方法
2019/01/23 Python
关于keras.layers.Conv1D的kernel_size参数使用介绍
2020/05/22 Python
东方通信股份有限公司VC面试题
2014/08/27 面试题
国土资源局开展党的群众路线教育实践活动整改措施
2014/09/26 职场文书
优秀员工事迹材料
2014/12/20 职场文书
2015学校图书管理员工作总结
2015/05/11 职场文书
毕业生求职自荐信(2016最新版)
2016/01/28 职场文书
九年级数学教学反思
2016/02/17 职场文书
纪念建国70周年演讲稿
2019/07/19 职场文书
德劲DE1108畅想
2021/04/22 无线电