列表切片的格式为 list_name[start: stop: step]
。
- start 是列表切片开始的索引。
- stop 是列表切片结束的索引。
- step 允许你在 start 到 stop 的范围内选择第 nth 个项目。
列表切片的工作方式与 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 处的元素以及索引 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 的项目被切片。
如果你想要从一个位置到另一个位置的项目,你可以从 start
到 stop
提及它们。
my_list = [1, 2, 3, 4, 5]
print(my_list[1:4:2])
输出
[2, 4]
从索引 1 到 4 的项目以 2 的间隔进行切片。
另请阅读