python 内置类型简述(3) —— 列表类(list、tuple、range)

注:Iterable[int] 为任一元素为 int 类型的可迭代对象,如列表 [1, 2, 3]

注:list() 为一个字符串实例,可用任一列表替换(如 ['asd']),tuple()、range() 同理

1. 创建列表、元素、range 对象

e for e in Iterable\]:列表解析式,根据 Iterable 中元素生成列表 \[e for e in Iterable if ...\]:选择 Iterable 中符合条件的元素 \[(e1, e2) for e1 in Iterable for e2 in Iterable\]:分别从两个 Iterable 中选择元素 (e for e in Iterable):生成器表达式 (e for e in Iterable if ...) ((e1, e2) for e1 in Iterable for e2 in Iterable) deque():返回空的 deque 对象 deque(Iterable):使用 Iterable 中的元素生成 deque 对象 deque(Iterable, maxlen=int):设置 deque 对象的最大长度,每加入一个元素的同时会删除最先一个元素 array('b' \| ...):返回空的 array 对象 array('b' \| ..., Iterable):使用 Iterable 中的元素生成 array 对象 注:类型代码及对应的C存储类型: b:signed char B:unsigned char h:signed short H:unsigned short i:signed int I:unsigned int l:signed long L:unsigned int f:float d:double range(int):构造 range 对象,元素为 0, 1, 2, ..., int-1 range(int, int):元素为 int_1, int_1+1, int_1+2, ..., int-1 range(int, int, int):步长 int_3 zip(Iterable, ...):返回元组的迭代器,其中第 i 个元组包含的是每个 iterable 的第 i 个元素 enumerate(Iterable):返回一个枚举对象,返回多个元组,每个元组包含一个计数值(从 0 开始)和迭代 iterable 获得的值 enumerate(Iterable, start=int):计数值从 start 开始 ### 2. 获取元素个数(length) 注:list、tuple、range 类型参数用法相同 len(list) ### 3. 查找元素(select_elem) 注:list() \| tuple() \| range() 用法相同 Any() in list():判断 list 是否包含元素 Any Any() not in list():判断 list 是否包含元素 Any 注:list() \| tuple() \| range() 用法相同 list().index(Any):返回元素 Any 在 list 中的索引 list().index(Any, int):在 list\[int: -1\] 中查找元素 list().index(Any, int, int):在 list\[int_1: int_2\] 中查找元素 注:list() \| tuple() \| range() 用法相同 list().count(Any):返回元素 Any 在 list 中出现的次数 ### 4. 添加元素(add_elem) 注:list()、tuple()、range() 用法相同 list().append(Any):list 末尾添加元素 Any list().insert(int, Any):在 list\[int\] 元素前插入新元素 Any,其他元素后移 list()\[int: int\] = Iterable:将 list 的切片替换为 Iterable 的内容 list().extend(Iterable):将 Iterable 的内容添加到 list 末尾 deque().extendleft(Iterable):将 Iterable 的内容逐个添加到 deque 左侧 array().frombytes(bytes):将 bytes 转换为由机器值,添加到数组末尾 array().fromfile(SupportsRead\[bytes\], int):从文件对象中读取 int 项(视为机器值),添加到数组末尾;如果可用的项少于 int 项,引发 EOFError,但可用的项仍然会被加进数组 array().fromlist(list\[int\]):将 list 中元素添加到数组末尾 ### 5. 删除元素(delete_elem) list().clear():清空列表 list().pop():移除 list 中最后一个元素 list().pop(int):移除 list 中索引为 int 的元素 list().remove(Any) # 移除 list 中元素 Any;若不存在元素 Any,引发 ValueError del list()\[int\[: int\[: int\]\]\]:删除 list 切片 deque().popleft():移除并返回 deque 最左侧元素;若没有元素,引发IndexError ### 6. 获取最大最小值 max(Iterable\[int \| float \| str \| bytes \| bytearray\], ...) min(...) 若只有一个 Iterable 参数,需 Iterable 非空,否则引发 ValueError; 若有至少两个 Iterable 参数,则返回最大的位置参数 ### 7. 浅拷贝(copy) 注:list()、tuple()、range() 用法相同 list().copy() ### 8. 排序(sort) 注:list、tuple、range 类型参数用法相同 reversed(list):临时反转列表元素顺序 注:list、tuple、range 类型参数用法相同 sorted(list) sorted(list, reverse=False):临时反向排序 sorted(list, key=str.lower \| len \| ...):从 list 的每个元素提取用于比较的键 list().reverse():反转 list 元素顺序 list().sort():使用 \< 对 list 元素进行比较排序 list().sort(reverse=True):反向排序 list().sort(key=str.lower \| len \| ...):从每个元素中提取比较键;列表中每一项的键会被计算一次,然后在整个排序过程中使用 deque().rotate(int):向右循环移动 int 步;如果 int\<0,向左循环 ### 9. 数组常用方法(array_method) array().itemsize:返回单个元素的字节数 array().typecode:返回在创建数组时使用的类型码字符 array().tobytes():将数组转换为一个由机器值组成的数组,并返回其字节表示 array().tofile(SupportsWrite\[bytes\]):将数组转换为一个由机器值组成的数组,并写入文件 array().tolist():将数组转换为由相同的项组成的普通列表 ### 10. 切片(slice) 注:list()、tuple()、range() 用法相同 list()\[:\]:索引范围为 \[0, -1

list()[int:] == list()[slice(int)]:索引范围为 [int, -1]

list()[int: int] == list()[slice(int, int)]:索引范围为 [int_1, int_2-1]

list()[int: int: int] == list()[slice(int, int, int)]:步长 int_3

11. 拆包(unpack)

注:list()、tuple()、range() 用法相同

*list(), Any, ...:返回一个元组,元素为 list 中元素与 Any

'%s%s' % tuple():使用 tuple 的元素进行字符串格式化,需 len(tuple) == 2

注:list()、tuple()、range() 用法相同

var1, var2 = list():使用 list 中的元素对变量进行赋值,需 len(obj) == 2

var1, *var2 = list():优先对 var1 赋值,需 len(obj) >= 1

*var1, var2 = list():优先对 var2 赋值,需 len(obj) >= 1

var1, var2 = var2, var1:交换变量值

12. 判断元素是否为真

注:list、tuple、range 类型参数可替换

all(list):list 中元素全为真,则返回 True

any(list):list 中任一元素为真,则返回 True

相关推荐
yuweififi15 分钟前
CBGSDataset类-带类别平衡采样的数据集封装器
python·深度学习·机器学习
树下水月15 分钟前
关于使用python 安装 flask-openapi3扩展,使用docker 环境的完整复盘
开发语言·python·flask
DreamNotOver20 分钟前
PDF 中提取数学公式
python·pdf·提取公式
databook37 分钟前
决策树:机器学习中的“智慧树”
python·机器学习·scikit-learn
GIS程序媛—椰子1 小时前
【数学】线性代数(Python)
python·线性代数·机器学习
Rainbow Sea1 小时前
自定义实现C++拓展pytorch功能
c++·pytorch·python
大雄野比1 小时前
【scikit-learn基础】--『预处理』之 数据缩放
python·机器学习·scikit-learn
77771 小时前
OpenCV技术实战:识别滑动验证码缺口
python
Zeeland1 小时前
如何使用 Conftier 进行 Python 配置管理
python
残月只会敲键盘1 小时前
Django视图详解
python·django·sqlite