Python 3.x在矩阵上获取奇数列
问题内容:
我正在使用python 3.7,我想获取矩阵的所有奇数列。
举个例子,我现在有一个这种样式的4x4矩阵。
[[0, 9, 1, 6], [0, 3, 1, 5], [0, 2, 1, 7], [0, 6, 1, 2]]
那是…
0 9 1 6
0 3 1 5
0 2 1 7
0 6 1 2
我想得到:
9 6
3 5
2 7
6 2
矩阵的数量和大小会改变,但结构始终是
[[0, (int), 1, (int), 2...], [0, (int), 1, (int), 2 ...], [0, (int), 1, (int), 2...], [0, (int), 1, (int), 2...], ...]
要获得我可以做的行[:: 2]
,但是这种出色的解决方案目前对我不起作用。我尝试使用以下方法访问矩阵:
for i in matrix:
for j in matrix:
但这都不行。我该如何解决?
谢谢。
问题答案:
如果不使用numpy
,则可以[1::2]
在列表理解中使用与索引方案()类似的方法:
>>> [i[1::2] for i in mat]
[[9, 6], [3, 5], [2, 7], [6, 2]]
使用numpy
,您可以执行类似的操作:
>>> import numpy as np
>>> np.array(mat)[:,1::2]
array([[9, 6],
[3, 5],
[2, 7],
[6, 2]])