Skip to content

切片是一种在 Python 中用于获取列表字符串和其他序列的子序列的方法。它的基本语法是:

sequence[start:stop:step]

startstop 分别表示切片的起始位置和终止位置,step` 表示切片的步长。

以下是几种不同的实现方法:

  1. 基本切片方法: 使用 startstop 参数来截取序列的一部分。例如,sequence[1:4] 表示从索引位置 1 到 3 的元素构成的子序列。
python
sequence = [1, 2, 3, 4, 5]
sliced_sequence = sequence[1:4]  # [2, 3, 4]
  1. 使用负数索引: 可以使用负数索引来从序列的末尾开始计数。例如,sequence[-3:-1] 表示从倒数第三个元素到倒数第二个元素的子序列。
python
sequence = [1, 2, 3, 4, 5]
sliced_sequence = sequence[-3:-1]  # [3, 4]

# 我们经常用来翻转数组或者字符串
n = 'abc'
a = n[::-1]   # cba

注意: [::-1]被经常用来翻转字符串

  1. 指定步长: 可以通过 step 参数来指定切片时需要跳过的元素个数(步长)。例如,sequence[0:5:2] 表示从索引位置 0 到 4,每隔一个元素选择一个元素。
python
sequence = [1, 2, 3, 4, 5]
sliced_sequence = sequence[0:5:2]  # [1, 3, 5]
  1. 切片全部元素: 如果省略 startstop 参数,只提供 step 参数,那么将会返回包含原序列全部元素的切片。例如sequence[::2] 表示从序列的开始到结束,每隔一个元素选择一个元素。
python
sequence = [1, 2, 3, 4, 5]
sliced_sequence = sequence[::2]  # [1, 3, 5]

这是几种常用的切片实现方法,可以根据具体需求选择合适的方法。