1. 分类
Python 序列(Sequence)是指按特定顺序依次排列的一组数据,它们可以占用一块连续的内存空间,也可以分散到多块内存中。Python 序列包括字符串(string)、列表(list)、元组(tuple)、字典(dict)和集合(set)。
列表和元组用于顺序存储数据,所有元素占用一块连续的内存空间,每个元素都有自己的索引,可以通过索引直接访问特定元素。它们的区别在于:列表是可以修改的,而元组是不可修改的。
字典和集合用于无序存储数据,元素占用不同的内存空间,字典元素以键值对的形式存储。
字符串是一种常见的序列,可以通过索引直接访问其中特定字符。
2. 通用操作
集合和字典不支持索引、切片、相加和相乘操作。
2.1 索引
在序列中,每个元素都有固定的序号(索引),可以通过索引直接访问元素,格式为 s[i]。
Python 同时支持正索引和负索引。正索引从 0 开始递增,从左向右计数,0 表示序列第一个元素,n-1 表示序列最后一个元素,取值范围为 [0, n-1]。负索引从-1开始递减,从右向左计数,-1 表示序列最后一个元素,-n 表示序列第一个元素,取值范围为 [-n, -1]。
2.2 切片
切片可以访问一定范围内的元素,同时生成一个新的序列(子序列),格式为 s[start : end : step]。
其中,start 表示切片的开始索引位置(包括该位置),默认值 0;end 表示切片的结束索引位置(不包括该位置),默认值 n;
step 表示切片步长,即间隔几个存储位置(包含当前位置)取一次元素,默认值 1,如果省略设置该值,则最后一个冒号可以省略。
2.3 相加
Python 支持两种类型相同的序列使用 + 运算符相加,对两个序列进行连接,但不会去除重复的元素,格式为 a + b。
2.4 相乘
Python 支持序列乘以整数 n 生成新序列,其内容为原来序列被重复 n 次的结果,格式为 a * 3。对于非正整数,新序列为空。
列表可以通过乘法操作,实现初始化指定长度的功能。例如,
list = [None] * 5。
2.5 判断成员
Python 提供 in 和 not in 关键词检查元素是否包含在序列中,格式为 value in sequence。其中,value 表示要检查的元素,sequence 表示指定的序列。
3. 内置函数
| 函数 | 功能 |
|---|---|
| len() | 计算序列的长度,即返回序列中包含多少个元素 |
| max() | 找出序列中的最大元素 |
| min() | 找出序列中的最小元素 |
| list() | 将序列转换为列表 |
| str() | 将序列转换为字符串 |
| sum() | 计算元素和 |
| sorted() | 对元素进行排序 |
| reversed() | 反转元素 |
| enumerate() | 将序列组合为一个索引序列,多用在 for 循环中 |
对序列使用 sum() 函数时,做加和操作的必须都是数字(例如,
sum(str) + 1),不能是字符或字符串(例如,"sum: " + sum(str)),否则该函数将抛出异常,因为解释器无法判定是要做连接操作,还是做加和操作。
Python序列操作详解
本文介绍了Python中的序列类型,包括字符串、列表、元组、字典和集合,并详细讲解了索引、切片、相加、相乘等通用操作,以及如何使用内置函数处理序列。
659

被折叠的 条评论
为什么被折叠?



