引用
python默认的八大数据类型
- 整型
- 浮点型
- 字符串
- 字典
- 元组
- 列表
- 集合
- 布尔值
collections模块
一、什么是collecting模块
一、什么是collecting模块
提供一些python八大数据类型“以外的数据类型”
二、 collections的用法
2.1 具名元组
namedtuple
大多数翻译作具名元组或命名元组
具名元组可以理解为元组的增强版本,它适用于任何普通元组的应用范围。
具名元组为元组中的每个元素都赋予了含义,从而增强代码可读性。
# 导入相关模块
from collections import namedtuple
# amedtuple() 工厂函数返回一个具名元组类,该函数位于 collections 模块下,具体定义形式如下:
namedtuple(typename, field_names, *, rename=False, defaults=None, module=None)
2.1.1 具名元组的应用场景
- 坐标
- 扑克牌
坐标:
from collections import namedtuple
# 传入可迭代对象是有序的
# 应用:坐标
# 将'坐标'变成 “对象” 的名字
point = namedtuple('坐标', ['x', 'y'])
# point = namedtuple('坐标', ('x', 'y')) # 第二个参数既可以传可迭代对象
# point = namedtuple('坐标', 'x y') # 第二个参数既可以传可迭代对象
p = point(2, 3)
print(p)
print(type(p))
坐标(x=2, y=3)
<class '__main__.坐标'>
扑克牌:
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')
2.2 有序字典
语法:
from collections import OrderedDict
将python中的无序字典变为有序
from collections import OrderedDict
dic = dict({'x': 1, 'y': 2, 'z': 3})
order_dict = OrderedDict(dic)
print(order_dict)
print(type(order_dict))
print(order_dict.get('x'))
print(order_dict.get('y'))
for line in order_dict:
print(line)
OrderedDict([('x', 1), ('y', 2), ('z', 3)])
<class 'collections.OrderedDict'>
1
2
x
y
z