Python 以矩阵形式将列表排列到numpy数组

Python 以矩阵形式将列表排列到numpy数组,python,arrays,numpy,Python,Arrays,Numpy,我有一张清单: rs = list([[(0, 167, 159, 0), (1, 168, 160, 1)], [(0, 167, 159, 1), (1, 168, 160, 0)]]) 我想把它以矩阵的形式排列成numpy数组,因此我编写了以下代码: import numpy rs = list([[(0, 167, 159, 0), (1, 168, 160, 1)], [(0, 167, 159, 1), (1, 168, 160, 0)]]) k = 2 j = 0 h = 0

我有一张清单:

rs = list([[(0, 167, 159, 0), (1, 168, 160, 1)], [(0, 167, 159, 1), (1, 168, 160, 0)]])
我想把它以矩阵的形式排列成numpy数组,因此我编写了以下代码:

import numpy

rs = list([[(0, 167, 159, 0), (1, 168, 160, 1)], [(0, 167, 159, 1), (1, 168, 160, 0)]])
k = 2
j = 0
h = 0
ars = []
element = list(rs)
ck_dist_m = numpy.array([[]], ndmin = 2)

while j <= k - 1:
    while h <= k - 1:
        rp = numpy.array(element[j][h][3], ndmin = 2)
        ars.append(rp)
        h = h + 1
    else:
        h = 0
        ck_dist_m = numpy.vstack(ars)
    j = j + 1
print ck_dist_m
但上面的脚本给出了这样的信息:

[[0]
 [1]
 [1]
 [0]]
如何编辑脚本以矩阵形式获得结果


在while循环中,我提取子列表中的第三个元素,并尝试以矩阵形式存储它们

以下是实现这一目标的更直接的方法:

>>> numpy.array(rs)[:,:,3]
array([[0, 1],
       [1, 0]])

在while循环中,我提取子列表中的第三个元素,并尝试以矩阵形式存储它们

以下是实现这一目标的更直接的方法:

>>> numpy.array(rs)[:,:,3]
array([[0, 1],
       [1, 0]])

你能解释一下
列表([[(0,167,159,0),(1,168,160,1)],[(0,167,159,1),(1,168,160,0)])与
[[0,1],[1,0]].
的关系吗?在while循环中,我提取子列表中的第三个元素,并尝试以矩阵形式存储它们。你能解释一下
列表([[(0,167,159,0),(1,168,160,1)],[(0,167,159,1)],[(0),(1,168,160,0)])
[[0,1],[1,0]]
相关?在while循环中,我提取子列表中的第三个元素,并尝试以矩阵形式存储它们。这是一种更直接的方式!这是一种更直接的方式!