首页 > 解决方案 > 在 python 中重塑一个奇怪的列表

问题描述

在 Python 中,我有一个这样的列表:

array = 
[[[0,0,1,0],[0,0,0,1],[1,0,0,0],[0,1,0,0]],
[[0,1,0],[1,0,0],[0,0,1],[0,0,1]],
[[0],[1],[0],[1]],
[[1],[1],[0],[1]]]

我想把它改造成:

array = 
[[[0,0,1,0],[0,1,0],[0],[1]],
[[0,0,0,0],[1,0,0],[1],[1]],
[[1,0,0,0],[0,0,1],[0],[0]],
[[0,1,0,0],[0,0,1],[0],[1]]]

有什么建议么?

标签: pythonarrayslistnumpy

解决方案


IIUC,给定

array = [[[0,0,1,0],[0,0,0,1],[1,0,0,0],[0,1,0,0]],
        [[0,1,0],[1,0,0],[0,0,1],[0,0,1]],
        [[0],[1],[0],[1]],
        [[1],[1],[0],[1]]]

import numpy as np
>>> np.array(array).T

array([[list([0, 0, 1, 0]), list([0, 1, 0]), list([0]), list([1])],
       [list([0, 0, 0, 1]), list([1, 0, 0]), list([1]), list([1])],
       [list([1, 0, 0, 0]), list([0, 0, 1]), list([0]), list([0])],
       [list([0, 1, 0, 0]), list([0, 0, 1]), list([1]), list([1])]],

推荐阅读