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 判断linux进程,并杀死进程的实现方法
Jul 01 Python
详解Matplotlib绘图之属性设置
Aug 23 Python
selenium+python实现自动登陆QQ邮箱并发送邮件功能
Dec 13 Python
使用tensorflow DataSet实现高效加载变长文本输入
Jan 20 Python
基于spring boot 日志(logback)报错的解决方式
Feb 20 Python
基于Python3.7.1无法导入Numpy的解决方式
Mar 09 Python
关于Theano和Tensorflow多GPU使用问题
Jun 19 Python
Python matplotlib模块及柱状图用法解析
Aug 10 Python
通过实例了解python__slots__使用方法
Sep 14 Python
python list等分并从等分的子集中随机选取一个数
Nov 16 Python
详解Python中@staticmethod和@classmethod区别及使用示例代码
Dec 14 Python
selenium与xpath之获取指定位置的元素的实现
Jan 26 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生成静态页面详解
2006/11/19 PHP
PHP MemCached高级缓存配置图文教程
2010/08/05 PHP
php遍历目录与文件夹的多种方法详解
2013/11/14 PHP
ThinkPHP中I(),U(),$this->post()等函数用法
2014/11/22 PHP
php字符串截取函数用法分析
2014/11/25 PHP
XHProf报告字段含义的解析
2016/05/17 PHP
php实现登录tplink WR882N获取IP和重启的方法
2016/07/20 PHP
javascript 一些用法小结
2009/09/11 Javascript
Web前端设计模式  制作漂亮的弹出层
2010/10/29 Javascript
jquery动态增加删除表格行的小例子
2013/11/14 Javascript
textarea 控制输入字符字节数(示例代码)
2013/12/27 Javascript
jqGrid读取选择的多行的某个属性代码
2014/05/18 Javascript
Javascript的&&和||的另类用法
2014/07/23 Javascript
jQuery中insertBefore()方法用法实例
2015/01/08 Javascript
js上传图片及预览功能实例分析
2015/04/24 Javascript
通过XMLHttpRequest和jQuery实现ajax的几种方式
2015/08/28 Javascript
JS中对数组元素进行增删改移的方法总结
2016/12/15 Javascript
vue-cli入门之项目结构分析
2017/04/20 Javascript
js判断传入时间和当前时间大小实例(超简单)
2018/01/11 Javascript
create-react-app构建项目慢的解决方法
2018/03/14 Javascript
Vue中控制v-for循环次数的实现方法
2018/09/26 Javascript
解决echarts的多个折现数据出现坐标和值对不上的问题
2018/12/28 Javascript
vue-cli项目使用mock数据的方法(借助express)
2019/04/15 Javascript
vue-resourc发起异步请求的方法
2020/02/11 Javascript
vue-cli3 引入 font-awesome的操作
2020/08/11 Javascript
[04:46]2018年度玩家喜爱的电竞媒体-完美盛典
2018/12/16 DOTA
python调用shell的方法
2013/11/20 Python
Python 专题三 字符串的基础知识
2017/03/19 Python
pandas 缺失值与空值处理的实现方法
2019/10/12 Python
使用python实现kNN分类算法
2019/10/16 Python
python输出pdf文档的实例
2020/02/13 Python
使用K.function()调试keras操作
2020/06/17 Python
python 多进程和协程配合使用写入数据
2020/10/30 Python
丝芙兰新加坡官网:Sephora新加坡
2018/12/04 全球购物
澳大利亚一站式数码相机商店:CameraPro
2020/03/09 全球购物
土建施工员岗位职责
2015/04/11 职场文书