Python中的切片操作
Python中的切片操作是一种操作序列的方法,可以用来取出序列中的一部分元素,比如列表、元组、字符串等。切片操作的语法是:
sequence[start:stop:step]
其中,sequence是要操作的序列,start表示切片的起始位置,stop表示切片的结束位置,step表示切片的步长,即从start位置开始,每隔step个元素取一个,直到stop位置,但不包括stop位置本身。
下面是一些切片操作的实例:
a = [1, 2, 3, 4, 5] a[1:3] # [2, 3]
a = [1, 2, 3, 4, 5] a[:3] # [1, 2, 3]
a = [1, 2, 3, 4, 5] a[3:] # [4, 5]
a = [1, 2, 3, 4, 5] a[::2] # [1, 3, 5]
a = [1, 2, 3, 4, 5] a[::-1] # [5, 4, 3, 2, 1]
需要注意的是,start和stop都可以省略,如果省略start,则默认从0开始,如果省略stop,则默认到序列的末尾。步长默认为1,可以省略。可以使用负数作为步长,此时切片操作会从右向左取元素,比如:
a = [1, 2, 3, 4, 5] a[::-2] # [5, 3, 1]
需要注意的是,切片操作只是取出序列中的一部分元素,而不会改变原来的序列,比如:
a = [1, 2, 3, 4, 5] b = a[1:3] print(b) # [2, 3] print(a) # [1, 2, 3, 4, 5]
可以看到,a和b的值相同,说明切片操作只是取出序列中的一部分元素,而不会改变原来的序列。