Menu
CoddyTech

基本索引

Coddy NumPy 基础 课程的第 10 课,共 18 课。

Numpy 的一维数组可以像 Python 列表一样进行索引:

Python 列表索引:

lst = [1, 2, 3, 4]
lst[1] # --> 2

Numpy 数组索引:

ary = np.array([1, 2, 3, 4])
ary[1] # --> 2

但在维度更高时,情况就变得有趣了。

Python 二维列表索引:

lst = [[1, 2], [3, 4]]
lst[0][1] # --> 2

Numpy 二维数组索引:

ary = np.array([[1, 2], [3, 4]])
ary[0,1] # --> 2 

看看区别:ary[0,1]、lst[0][1]

我们可以在 Numpy 数组中使用与列表相同的语法:ary[0][1],但这种方式效率较低,最好使用:ary[0, 1]

ary[0][1] 的效率较低,因为第一次索引后会创建一个新的临时数组,随后再通过索引 1 从中取值。

如何对三维数组进行索引?

ary = np.array([
	[[1], [2]], 
	[[3], [4]]
])
ary[0, 0, 0] # --> 1
ary[0, 1, 0] # --> 2
ary[1, 0, 0] # --> 3
ary[1, 1, 0] # --> 4
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

challenge icon

挑战

简单

从 3D 数组 ary 中检索包含值 5 的元素(使用索引)

亲手试试

import numpy as np
ary = np.array([ [ [ 0, 1 ], [ 2, 3 ] ], [ [ 4, 5 ], [ 6, 7 ] ] ])

res = ary[] # <-- Complete the indexing

print(res) # Don't touch


NumPy 基础中的所有课

自己练习: Python 在线编译器