列表切片

列表切片-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]作为切片是反转列表的常用方法。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

相关阅读更多精彩内容

友情链接更多精彩内容