序列
序列 (sequence) 是一种可迭代的、元素有序的容器类型的数据。
序列的索引操作
正索引:序列中的元素从左到右依次分配正索引,从0开始。例如,对于列表 my_list = [10, 20, 30, 40] , my_list[0] 表示第一个元素10, my_list[2] 则表示第三个元素30。
负索引:从右到左为元素分配负索引,从-1开始。在上述列表中, my_list[-1] 表示最后一个元素40, my_list[-3] 表示第二个元素20。
索引操作
访问元素:通过在序列名称后加上中括号并在其中指定索引值,可获取对应位置的元素。如对于字符串 my_str = "Hello" , my_str[1] 可获取字符'e'。
修改元素:对于可变序列,如列表,可通过索引来修改元素的值。如 my_list = [1, 2, 3] ,执行 my_list[1] = 4 后,列表变为 [1, 4, 3] 。
切片操作:使用索引可以对序列进行切片,获取子序列。格式为 sequence[start:stop:step] , start 是起始索引, stop 是结束索引(不包含该索引对应的元素), step 是步长。例如 my_list[1:3] 会返回索引1到2的元素 [2, 3] , my_list[::2] 则会每隔一个元素取一个,返回 [1, 3] 。
在使用索引时,要确保索引值在序列的有效范围内,否则会引发 IndexError 异常。
列表
定义与创建
可以使用方括号 [ ] 直接创建列表,例如 my_list = [1, 2, 3, 'apple', 3.14] ,其中可以包含不同类型的元素。也可以使用 list() 函数创建列表,如 my_list = list((1, 2, 3)) ,它接受可迭代对象作为参数并转换为列表。
特点
有序性:列表中的元素按照定义的顺序排列,每个元素都有固定的位置,可以通过索引来访问和操作。
常用操作
访问元素:通过索引访问,索引从0开始。如 my_list[2] 可获取第三个元素。
添加元素:使用 append() 方法在列表末尾添加元素, my_list.append(4) ;使用 insert() 方法在指定位置插入元素, my_list.insert(2, 'cherry') 。
删除元素:使用 del 语句删除指定索引的元素, del my_list[3] ;使用 remove() 方法根据元素值删除元素, my_list.remove('apple') 。
列表拼接:使用 + 运算符可以将两个列表拼接起来, list1 + list2 。
列表复制:使用 * 运算符可以复制列表, my_list * 3 表示将列表重复3次。
其他常用方法
count():统计列表中某个元素出现的次数,如 my_list.count('apple') 。
index():返回指定元素在列表中的索引, my_list.index(3) 。
sort():对列表中的元素进行排序, my_list.sort() 。
reverse():反转列表中的元素顺序, my_list.reverse() 。
元组
在Python中,元组(tuple)是一种重要的数据类型,以下是关于它的详细介绍:
定义与创建
元组使用圆括号 () 来创建,元素之间用逗号分隔,例如 my_tuple = (1, 2, 3) 也可以省略圆括号直接使用逗号分隔元素来创建,如 my_tuple = 1, 2, 3 。还可以使用 tuple() 函数将其他可迭代对象转换为元组,如 my_tuple = tuple([1, 2, 3]) 。
特点
不可变性:元组一旦创建,其元素就不可修改、删除或添加,这保证了数据的完整性和安全性。
有序性:元组中的元素有固定的顺序,可以通过索引访问。
基本操作
访问元素:和列表一样,可使用索引访问元组中的元素,索引从0开始,如 my_tuple[1] 可获取第二个元素。
切片操作:可以对元组进行切片操作获取子元组,如 my_tuple[1:3] 会返回索引1到2的元素组成的子元组。
连接与重复:可以使用 + 运算符连接两个元组,使用 * 运算符重复元组,如 tuple1 + tuple2 , my_tuple * 3 。
常用方法
count():统计元组中某个元素出现的次数,如 my_tuple.count(2) 。
index():返回指定元素在元组中的索引, my_tuple.index(3) 。
元组在需要保证数据不被意外修改的场景中非常有用,比如作为函数的参数传递,确保参数在函数内部不会被修改。同时,它还可以作为字典的键,因为字典的键需要是不可变类型。