Python 获取二维数组的某一列
由于习惯了 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] 方括号的运算顺序先计算最近的,再计算远的,因此得不到一列,而只能得到最后
·
由于习惯了 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]
更多推荐
已为社区贡献4条内容
所有评论(0)