Python序列索引和切片练习
序列索引和切片
序列索引
letters = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"]
print(letters[1])
在Python中,列表的索引是从0开始的,即列表中第一个元素的索引为0,第二个元素的索引为1,以此类推。因此,letters[1] 表示获取列表 letters 中索引为1的元素。
在给定的列表 letters = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"] 中,索引为1的元素是 "b"。
序列切片
letters = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"]
print(letters[3:6])
在Python中,切片操作用于从序列(如列表、字符串、元组等)中获取一个子序列。切片操作的语法是 sequence[start:stop:step],其中:
start:切片的起始索引,默认为0。
stop:切片的结束索引,不包含该索引对应的元素,默认为序列的长度。
step:切片的步长,默认为1。
对于代码中的 letters[3:6]:
start 为3,表示从索引为3的元素开始切片。在列表 letters 中,索引为3的元素是 "d"。
stop 为6,表示切片到索引为6的元素之前结束,即不包含索引为6的元素。在列表 letters 中,索引为6的元素是 "g"。
由于没有指定 step,默认为1,表示按顺序逐个获取元素。
因此,letters[3:6] 会返回一个包含索引为3、4、5的元素的子列表,即 ['d', 'e', 'f']。
序列前位置切片
letters = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"]
print(letters[:3])
在Python中,切片操作的语法是 sequence[start:stop:step],其中 start 表示切片的起始索引(默认为0),stop 表示切片的结束索引(不包含该索引对应的元素),step 表示切片的步长(默认为1)。
对于代码中的 letters[:3],省略了 start 索引,这种情况下,start 默认为0。stop 为3,表示切片到索引为3的元素之前结束,即不包含索引为3的元素。由于没有指定 step,默认为,表示按顺序逐个获取元素。
因此,letters[:3] 会返回一个包含索引为0、1、的元素的子列表,即 ['a', 'b', 'c']。
负数索引
letters = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"]
print(letters[-2])
在Python中,列表的索引可以是正向的,也可以是负向的。正向索引从0开始,依次表示列表中的第一个元素、第二个元素等;负向索引从 -1开始,依次表示列表中的最后一个元素、倒数第二个元素等。
对于代码中的 letters[-2],负向索引 -2表示获取列表 letters 中的倒数第二个元素。在给定的列表 letters = ["a", "b", "c", "d", "e", "f", "g", "", "i", "j"] 中,倒数第二个元素是 "i"。
负数切片
letters = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"]
print(letters[-3:])
在Python中,切片操作的语法是 sequence[start:stop:step] 。对于 letters[-3:] :
- start 为 -3,表示从倒数第三个元素开始切片。在列表 letters 中,倒数第三个元素是 "h"。
- 由于省略了 stop 索引,这意味着切片将一直持续到列表的末尾。
- 没有指定 step,默认步长为1,即按顺序逐个获取元素。
所以,letters[-3:] 会返回一个包含从倒数第三个元素到列表末尾的所有元素的子列表,即 ['h', 'i', 'j']。
序列索引步长
letters = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"]
print(letters[::2])
在Python中,切片操作的语法是 sequence[start:stop:step]。对于 letters[::2]:
省略了 start 索引,默认从列表的第一个元素开始,即索引为0的元素 "a"。
省略了 stop 索引,默认到列表的末尾结束。
step 为2,表示每隔一个元素选取一个元素。
具体来说,它会从索引为0的元素开始,选取该元素,然后跳过一个元素(索引为1的元素),选取索引为2的元素,再跳过一个元素(索引为3的元素),选取索引为4的元素,以此类推,直到到达列表的末尾。
所以,letters[::2] 会返回一个包含索引为0、2、4、6、8的元素的子列表,即 ['a', 'c', 'e', 'g', 'i']。