Python 序列结构是一种有序的数据结构,其中元素按其插入顺序排列。序列中元素的访问和修改基于它们的索引位置。Python 提供了各种内置序列类型,每种类型都具有独特的特点和功能,适合不同的用途。
主要类型
Python 中最常用的序列类型有:
- 列表 (list): 可变长度的序列,允许存储不同类型的数据,包括嵌套列表。
- 元组 (tuple): 不可变长度的序列,一次创建后无法更改。
- 字符串 (str): 不可变的字符序列,通常用于文本数据。
列表
列表是 Python 中最灵活和常见的序列类型。它们可以存储各种数据类型,包括嵌套列表。列表使用方括号 ([]) 定义,元素用逗号分隔。以下是一个示例:
python
my_list = [1, "apple", 5.5, [1, 2, 3]]
特性:
- 可变长度: 列表的长度可以动态增长或缩减。
- 异构: 列表可以存储不同数据类型。
- 支持切片: 列表可以使用切片运算符 ([:]) 轻松地提取子序列。
元组
元组是不可变的序列,在创建后无法修改。它们使用圆括号 (()) 定义,元素用逗号分隔。以下是一个示例:
python
my_tuple = (1, "apple", 5.5, (1, 2, 3))
特性:
- 不可变: 元组一旦创建,其元素就无法更改。
- 异构: 元组可以存储不同数据类型。
- 不支持切片: 元组不支持切片运算符。
字符串
字符串是不可变的字符序列,通常用于存储文本数据。它们使用单引号 (‘) 或双引号 (“) 定义。字符串可以包含任何 Unicode 字符。以下是一个示例:
python
my_string = "Hello, world!"
特性:
- 不可变: 字符串一旦创建,其内容就无法更改。
- 同构: 字符串只能存储字符。
- 支持切片: 字符串可以使用切片运算符轻松地提取子字符串。
序列操作
序列类型提供了一系列操作来处理和修改序列:
- 索引: 使用方括号 ([]) 根据索引访问序列中的元素。
- 切片: 使用切片运算符 ([:]) 提取序列的一部分。
- 连接: 使用加号 (+) 运算符连接两个序列。
- 复制: 使用切片运算符 ([:]) 创建序列的副本。
- 遍历: 使用 for 循环遍历序列中的每个元素。
序列函数
Python 还提供了几个内置函数来操作序列:
- len(): 返回序列的长度。
- min()、max(): 返回序列中的最小和最大值。
- sum(): 返回序列中元素的总和(仅适用于数字序列)。
- sorted(): 返回序列的已排序副本。
- reversed(): 返回序列的已反转副本。
序列理解
序列理解是 Python 中一种简洁的方式,可创建新序列,同时过滤和转换原始序列中的元素。它们使用方括号 ([]) 和 for 循环来构建新序列。以下是一个示例:
python
new_list = [x**2 for x in my_list if x > 2]
特性:
- 简洁: 序列理解提供了一种简洁的方式来创建复杂的新序列。
- 过滤: 序列理解可以使用 if 子句过滤原始序列中的元素。
- 转换: 序列理解可以使用表达式转换每个元素。
问答
如何创建一个包含混合数据类型的列表?
- 使用方括号 ([]) 和逗号分隔元素创建列表。
元组和列表有何区别?
- 元组是不可变的,而列表是可变的。
如何从序列中获取子序列?
- 使用切片运算符 ([:])。
序列理解有什么好处?
- 序列理解提供了创建复杂的新序列的简洁方式。
如何按升序对列表排序?
- 使用 sorted() 函数并指定 key=lambda x: x
原创文章,作者:王利头,如若转载,请注明出处:https://www.wanglitou.cn/article_15638.html