由于习惯了 C++/Matlab 使用连续的 2 个[] 获取元素

当需要选择矩阵的一列时,容易写作:

a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(a[:][-1]) # [7, 8, 9]

结果不对,因为上面的写法等价于:

b = a[:]
c = b[-1]

a[:][-1] = a[-1] 方括号的运算顺序先计算最近的,再计算远的,因此得不到一列,而只能得到最后一行

numpy

为了获取一列,可以使用 numpy

import numpy as np

a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
a = np.array(a)
print(a[:, -1]) # [3 6 9]
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐