Python中的序列是编程中最基本的数据结构之一,它们是由一系列有序元素组成的集合。这些元素可以是任何类型,包括数字、字符串、甚至是其他的序列或对象。序列主要有两种形式:元组(tuple)和列表(list)。
元组是用圆括号 `()` 包裹的元素集合,一旦创建,其元素就不能修改。例如,`s1 = (2, 1.3, 'love', 5.6, 9, 12, False)` 是一个元组。元组的不可变性确保了它的安全性和效率,常用于存储不可更改的数据。
列表则是用方括号 `[]` 包含的元素集合,元素可以随时添加、删除或修改。如 `s2 = [True, 5, 'smile']` 是一个列表,我们可以像这样修改列表元素:`s2[1] = 3.0`。
序列的元素可以通过下标进行访问,下标从0开始。例如,`s1[0]` 将获取元组 `s1` 的第一个元素,`s2[2]` 获取列表 `s2` 的第三个元素。对于嵌套序列,如 `s3 = [1, [3, 4, 5]]`,可以使用多级下标,如 `s3[1][2]` 来访问子序列的元素。
除了下标引用,Python还支持范围引用,使用基本格式 `[下限:上限:步长]`。例如,`s1[:5]` 会获取 `s1` 从开始到下标4(不包括5)的所有元素。不指定下限意味着从序列开始,不指定上限意味着到序列结束。步长可以设置为正数或负数,控制每多少个元素取一个,如 `s1[2:0:-1]` 从下标2到下标1(不包括1)逆序取元素。
另外,序列支持尾部元素引用,使用负数下标,`-1` 表示最后一个元素,`-2` 表示倒数第二个元素,以此类推。例如,`s1[-1]` 获取 `s1` 的最后一个元素。
字符串在Python中被视为不可变的字符序列,可以看作是特殊形式的元组。因此,你可以像处理元组一样处理字符串,例如 `str = 'abcdef'`,然后使用范围引用 `str[2:4]` 获取 'cd'。
元组和列表是Python中非常重要的序列类型,它们提供了灵活的数据组织方式。元组适用于不可变数据,而列表则适用于需要动态改变内容的情况。字符串作为不可变的字符序列,广泛应用于文本处理。掌握这些基本概念和操作,对于深入学习Python编程至关重要。