序列的核心共性
- 可通过索引访问单个元素,索引默认从0开始,支持负数索引
- 可通过分片获取范围内元素集合,语法:
[start:end:step] - 支持通用操作符:
+(拼接)、*(重复)、in/not in(成员判断) - 三大序列类型:列表、元组、字符串
序列类型转换函数
- list(iterable)
- 功能:将可迭代对象转换为列表,无参时生成空列表
- 示例:
list("I love fishc")→ 字符拆分列表;list((1,1,2,3))→ 元组转列表 - 底层逻辑:新建空列表→迭代对象元素→逐个添加到列表→返回新列表
- tuple(iterable)
- 功能:将可迭代对象转换为元组,无参时生成空元组
- 示例:
tuple([1,2,3])→ 列表转元组;tuple("abc")→ 字符串转元组 - 特性:与list用法一致,转换后数据不可变
- str(object)
- 功能:将任意对象转换为字符串形式
- 示例:
str(123)→"123";str([1,2])→"[1,2]"
序列基础操作函数
- len(sub)
- 功能:返回序列/集合的长度(元素个数)
- 示例:
len("abc")→ 3;len([1,2,3,4])→ 4
- max(iterable/args)
- 功能:返回序列或参数集合中的最大值
- 规则:元素类型需统一(数字比较大小,字符比较ASCII码值)
- 示例:
max(1,5,3)→ 5;max("python")→"y";max([1,-9,76])→ 76
- min(iterable/args)
- 功能:返回序列或参数集合中的最小值
- 规则:与max一致,类型不统一会报错
- 示例:
min("12345")→"1";min((-5,0,2))→ -5
序列数值计算函数
- sum(iterable[, start])
- 功能:返回序列中元素的总和,可选参数start为初始累加值(默认0)
- 规则:序列元素必须是数字类型(int/float),类型混杂会报错
- 示例:
sum((1,2,3))→ 6;sum([1,2,3], 2)→ 8(1+2+3+2)
序列排序与反转函数
- sorted(iterable[, reverse=False])
- 功能:返回一个新的排序后列表,不修改原序列
- 规则:reverse=True时降序排列,默认升序
- 示例:
sorted([3,1,2])→ [1,2,3];sorted([3,1,2], reverse=True)→ [3,2,1] - 对比:列表的
sort()方法是原地排序,sorted()是生成新列表
- reversed(seq)
- 功能:返回一个迭代器对象,用于逆序遍历序列元素
- 转换:需用
list()/tuple()转为序列查看结果 - 示例:
list(reversed([1,2,3]))→ [3,2,1]
序列枚举与打包函数
- enumerate(iterable)
- 功能:生成由
(索引, 元素)组成的元组迭代器 - 转换:需用
list()转为列表查看完整内容 - 示例:
list(enumerate([10,83,0]))→ [(0,10), (1,83), (2,0)]
- 功能:生成由
- *zip(iterables)
- 功能:将多个序列的对应位置元素打包成元组,返回迭代器
- 规则:打包长度以最短序列为准,多余元素被舍弃
- 示例:
list(zip([1,2,3], [4,5]))→ [(1,4), (2,5)]