跳到主要内容

Python 程序切片列表

要理解这个示例,你需要了解以下Python编程主题的知识:

列表切片的格式是 [start:stop:step]

  • start 是列表中切片开始的索引。
  • stop 是列表中切片结束的索引。
  • step 允许你在 startstop 范围内选择 第n个 项。

列表切片的工作方式类似于 Python slice() 函数

获取所有项

my_list = [1, 2, 3, 4, 5]

print(my_list[:])

输出

[1, 2, 3, 4, 5]

如果你简单地使用 :,你将得到列表的所有元素。这类似于 print(my_list)

获取特定位置之后的所有项

my_list = [1, 2, 3, 4, 5]

print(my_list[2:])

输出

[3, 4, 5]

如果你想获取特定索引之后的所有元素,你可以在 : 前面指定那个索引,如上面的示例所示。

在上面的示例中,打印了索引2及其之后的所有元素。

注意: 索引从0开始。索引2上的项也包括在内。

获取特定位置之前的所有项

my_list = [1, 2, 3, 4, 5]

print(my_list[:2])

输出

[1, 2]

这个示例让你获取特定索引之前的所有元素。在 : 后面提及那个索引。

在示例中,切片了索引2之前的项。索引2上的项被排除。

获取两个特定位置之间的所有项

my_list = [1, 2, 3, 4, 5]

print(my_list[2:4])

输出

[3, 4]

如果你想获取两个特定索引之间的所有元素,你可以在 : 之前和之后提及它们。

在上面的示例中,my_list[2:4]给出了第2个和第4个位置之间的元素。起始位置(即2)被包括在内,而结束位置(即4)被排除。

以特定间隔获取项

my_list = [1, 2, 3, 4, 5]

print(my_list[::2])

输出

[1, 3, 5]

如果你想以特定间隔获取元素,你可以通过使用两个 : 来实现。

在上面的示例中,从索引0开始,间隔为2的项被切片。

如果你想从最后一项开始索引,你可以使用负号 **-**

my_list = [1, 2, 3, 4, 5]

print(my_list[::-2])

输出

[5, 3, 1]

从最后一个索引开始,间隔为2的项被切片。

如果你想从一个位置到另一个位置获取项,你可以从 startstop 提及它们。

my_list = [1, 2, 3, 4, 5]

print(my_list[1:4:2])

输出

[2, 4]

从索引1到4的项被切片,间隔为2。