ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

collections模块

2019-11-19 20:52:58  阅读:224  来源: 互联网

标签:namedtuple collections 模块 print dict order 字典


collections模块

python默认八大数据类型:整型、浮点型、字符串、字典、元组、列表、集合、布尔

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

-具名元组(只是一个名字,并不是元组)

​ 应用场景:坐标

​ from collections import namedtuple

-有序字典

​ -python中字典默认是无序,collections提供了有序的字典

​ from collections import OrderedDict

#具名元组
#传入的可迭代对象是有序的
#应用:坐标
from collections import namedtuple
point1 = namedtuple('坐标',['x','y','z'])#第一个参数str,第二个参数传可迭代对象
point2 = namedtuple('坐标',('x','y','z'))
point3 = namedtuple('坐标','x y z')
#传参的个数要与namedtuple第二个参数的个数对应
p1 = point1(1,2,3)
p2 = point2(1,2,3)
p3 = point3(1,2,3)
print(p1)
print(p2)
print(p3)
print(type(p1))
>>>
坐标(x=1, y=2, z=3)
坐标(x=1, y=2, z=3)
坐标(x=1, y=2, z=3)
<class '__main__.坐标'>

#扑克牌
#获取扑克牌对象
card = namedtuple('扑克牌',['color','number'])
#由扑克牌对象产生一张牌
Heart_A = card('♥','A')
print(Heart_A)
Spade_K = card('♠','K')
print(Spade_K)



##有序字典
#python默认无序字典
dict1 = dict({'x':1,'y':2,'z':3})
print(dict1)
print(type(dict1))
for line in dict1:
    print(line)
>>>
{'x': 1, 'y': 2, 'z': 3}
<class 'dict'>
x
y
z


from collections import OrderedDict
#有序字典
order_dict = OrderedDict({'x':1,'y':2,'z':3})
print(order_dict)
print(type(order_dict))
print(order_dict.get('x'))
print(order_dict['z'])
for line in order_dict:
    print(line)
>>>
OrderedDict([('x', 1), ('y', 2), ('z', 3)])
<class 'collections.OrderedDict'>
1
3
x
y
z

标签:namedtuple,collections,模块,print,dict,order,字典
来源: https://www.cnblogs.com/littleb/p/11892271.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有