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']​。

posted @ 2025-01-04 14:20  高宏宇  阅读(1)  评论(0编辑  收藏  举报