共计 938 个字符,预计需要花费 3 分钟才能阅读完成。
数据容器可以从以下视角进行简单分类:
- 是否支持下标索引
- 支持:列表、元组、字符串 – 序列类型
- 不支持:集合、字典 – 非序列类型
- 是否支持重复元素
- 支持:列表、元组、字符串 – 序列类型
- 不支持:集合、字典 – 非序列类型
- 是否可以修改
- 支持:列表、集合、字典
- 不支持:元组、字符串
通用操作
这 5 类数据容器都支持 for 循环遍历。
通用方法
- len():统计元素个数
- max(),min():统计最大、最小元素
- del 或 del():删除
- range(start, end, step):生成从 start 到 end 的数字,步长为 step,供 for 循环使用
- enumerate():迭代索引 - 值对
公共方法:
- +:合并,字符串、列表、元组
- *:复制,字符串、列表、元组
- in/not in:元素是否存在 / 不存在,字符串、列表、元组、字典
通用转换功能
- list(容器):转换为列表
- str(容器):转换为字符串
- tuple(容器):转换为元组
- set(容器):转换为集合
通用排序功能
sorted(容器, reverse=True) 将给定容器进行排序,reverse=True 表示降序。
元组
具名元组
具名元组(namedtuple)是一种特殊的元组。在保留普通元组功能的基础上,允许为元组的每个成员命名,这样便能通过名称而不止是数字索引来访问成员。
创建具名元组需要用到 namedtuple() 函数,它位于标准库的 collections 模块里,使用前需先导入:
from collections import namedtuple
Rectangle = namedtuple("Rectangle", "width,height")
# 还可用空格分隔:'width height',或字符串列表:['width', 'height']
rect = Rectangle(10, 20)
print(rect.width) # 10
在 Python 3.6 版本以后,还可以用 typing.NamedTuple 和类型注解语法来定义具名元组类型。这种方式在可读性上更胜一筹:
from typing import NamedTuple
class Rectangle(NamedTuple):
width: int
height: int
rect = Rectangle(100, 200)
print(rect.width) # 100
正文完