Python 数组切片


切片数组

python 中的切片意味着将元素从一个给定索引取出到另一个给定索引。

我们传递切片而不是索引,如下所示:[start:end]

我们还可以定义步骤,如下所示:[start:end:step]

如果我们不通过 start 则认为是 0

如果我们没有传递结束该维度中所考虑的数组长度

如果我们没有通过步骤,则将其视为 1

示例

对以下数组中从索引 1 到索引 5 的元素进行切片:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[1:5])
亲自试一试 »

笔记:结果包括起始索引,但是排除结束索引。

示例

切片从索引 4 到数组末尾的元素:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[4:])
亲自试一试 »

示例

对从开头到索引 4 的元素进行切片(不包括在内):

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[:4])
亲自试一试 »


负切片

使用减号运算符从末尾引用索引:

示例

从倒数索引 3 到倒数索引 1 切片:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[-3:-1])
亲自试一试 »

使用step确定切片步长的值:

示例

返回从索引 1 到索引 5 的所有其他元素:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[1:5:2])
亲自试一试 »

示例

返回整个数组中的所有其他元素:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[::2])
亲自试一试 »

切片二维数组

示例

从第二个元素开始,将元素从索引 1 切片到索引 4(不包括):

import numpy as np

arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])

print(arr[1, 1:4])
亲自试一试 »

笔记:请记住第二个元素有索引 1。

示例

从这两个元素中,返回索引 2:

import numpy as np

arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])

print(arr[0:2, 2])
亲自试一试 »

示例

从两个元素中,将索引 1 切片到索引 4(不包括在内),这将返回一个二维数组:

import numpy as np

arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])

print(arr[0:2, 1:4])
亲自试一试 »

通过练习测试一下

练习:

插入正确的切片语法以打印以下数组选择:

从(包括)第二项到(不包括)第五项的所有内容。

arr = np.array([10, 15, 20, 25, 30, 35, 40])

print(arr)

开始练习