import numpy as np
x = np.arange(16)
index = [3,5,8]
x[index]
array([3, 5, 8])
X = x.reshape(4,-1)
X
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11],
[12, 13, 14, 15]])
row = np.array([0,1,2])
col = np.array([1,2,3])
X[row,col]
array([ 1, 6, 11])
col = [True,False,True,True]
X[col]
array([[ 0, 1, 2, 3],
[ 8, 9, 10, 11],
[12, 13, 14, 15]])