因为python的numpy库可以按行进行乱序所以我们的思路是,先把二维list转置,然后在按行乱序,最后再转置,这样就得到我们的结果。
import numpy as np
labels=[[9,1,3,5],
[4,5,6,8],
[3,4,5,7],
[9,3,2,6]]
labels = np.vstack(labels).T # 转置
labels=labels[[1,2,3,0],:] # 按行乱序,前一个参数是按行乱序共四行,后面参数是取一整行
print(labels)
print(labels.T)
'''
按行乱序结果:[1,2,3,0]
[[1 5 4 3]
[3 6 5 2]
[5 8 7 6]
[9 4 3 9]]
按列乱序结果:
[[1 3 5 9]
[5 6 8 4]
[4 5 7 3]
[3 2 6 9]]
'''