python入门

列表切片

2022-06-08  本文已影响0人  朱兰Juran

列表切片-2个索引

列表切片(List slices)提供了从列表中检索值的更高级的方法。

基本列表切片涉及用两个以冒号分隔的整数索引列表。

列表切片返回一个包含索引之间旧列表中所有值的新列表。

例如:

squares = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

print(squares[2:6])

print(squares[3:8])

print(squares[0:1])

结果:

[4, 9, 16, 25]

[9, 16, 25, 36, 49]

[0]

和Range参数一样,在一个 slice 中提供的第一个索引被包含在结果中,但是第二个索引没有。


列表切片-1个索引

如果省略了切片中的第一个数字,则将从列表第一个元素开始。

如果第二个数字被省略,则认为是到列表结束。

例如:

squares = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

print(squares[:7])

print(squares[7:])

结果:

[0, 1, 4, 9, 16, 25, 36]

[49, 64, 81]

切片也可以在元组上使用。


列表切片-3个索引

列表切片还可以有第三个数字,表示间隔。

squares = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

print(squares[::2])

print(squares[2:8:3])

结果:

[0, 4, 16, 36, 64]

[4, 25]

[2:8:3] 包含从索引2到8间隔3的元素。


列表切片-负值索引

负值也可用于列表切片(和正常列表索引)。当切片(或普通索引)中的第一个和第二个值使用负值时,它们将从列表的末尾算起。

squares = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

print(squares[1:-1])

print(squares[-3:-1])

print(squares[::-1])

结果:

[1, 4, 9, 16, 25, 36, 49, 64]

[49, 64]

[81, 64, 49, 36, 25, 16, 9, 4, 1, 0]

如果切片第三个数值使用负值,则切片进行逆序截取。

使用[::-1]作为切片是反转列表的常用方法。

上一篇 下一篇

猜你喜欢

热点阅读