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 25 Python
Python中time模块与datetime模块在使用中的不同之处
Nov 24 Python
python Django批量导入数据
Mar 25 Python
Python绘制七段数码管实例代码
Dec 20 Python
Python自定义函数定义,参数,调用代码解析
Dec 27 Python
用python打印1~20的整数实例讲解
Jul 01 Python
Python基于Opencv来快速实现人脸识别过程详解(完整版)
Jul 11 Python
python 使用装饰器并记录log的示例代码
Jul 12 Python
tensorflow如何批量读取图片
Aug 29 Python
Python文件路径名的操作方法
Oct 30 Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
Nov 19 Python
Python实现socket库网络通信套接字
Jun 04 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+Tidy-完美的XHTML纠错+过滤
2007/04/10 PHP
php实现网站插件机制的方法
2009/11/10 PHP
php实现水仙花数的4个示例分享
2014/04/08 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
PHP+jQuery实现双击修改table表格功能示例
2019/02/21 PHP
Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解
2019/10/11 PHP
php中get_object_vars()在数组的实例用法
2021/02/22 PHP
HR vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
JavaScript是否可实现多线程  深入理解JavaScript定时机制
2009/12/22 Javascript
js判断undefined类型,undefined,null, 的区别详细解析
2013/12/16 Javascript
JavaScript自定义日期格式化函数详细解析
2014/01/14 Javascript
node.js中的fs.symlink方法使用说明
2014/12/15 Javascript
JavaScript限制在客户区可见范围的拖拽(解决scrollLeft和scrollTop的问题)(2)
2017/05/17 Javascript
vue.js整合mint-ui里的轮播图实例代码
2017/12/27 Javascript
Vue组件实现触底判断
2019/06/26 Javascript
js实现简单的日历显示效果函数示例
2019/11/25 Javascript
详解vue3中组件的非兼容变更
2021/03/03 Vue.js
[02:56]DOTA2亚洲邀请赛 VG出场战队巡礼
2015/02/07 DOTA
[40:03]Liquid vs Optic 2018国际邀请赛淘汰赛BO3 第一场 8.21
2018/08/22 DOTA
Python FTP操作类代码分享
2014/05/13 Python
Python数组遍历的简单实现方法小结
2016/04/27 Python
pygame游戏之旅 载入小车图片、更新窗口
2018/11/20 Python
解决Python一行输出不显示的问题
2018/12/03 Python
numpy concatenate数组拼接方法示例介绍
2019/05/27 Python
selenium 安装与chromedriver安装的方法步骤
2019/06/12 Python
canvas实现飞机打怪兽射击小游戏的示例代码
2018/07/09 HTML / CSS
全球最大的在线旅游公司:Expedia
2017/11/16 全球购物
香港交友网站:be2香港
2018/07/22 全球购物
乌克兰排名第一的在线旅游超市:Farvater.Travel
2020/01/02 全球购物
打架检讨书400字
2014/01/17 职场文书
护士辞职信范文
2014/01/19 职场文书
总经理岗位职责描述
2014/02/08 职场文书
医院护士见习期自我鉴定
2014/04/10 职场文书
共产党员岗位承诺书
2014/05/29 职场文书
开展读书活动总结
2014/06/30 职场文书
启动Tomcat时出现大量乱码的解决方法
2021/06/21 Java/Android