【问题标题】:How to convert a list into a matrix without numpy? [closed]如何在没有numpy的情况下将列表转换为矩阵? [关闭]
【发布时间】:2021-03-31 17:30:53
【问题描述】:

我有一个这样的列表:A_list = [0, 5, 20, 0, 1, 8, 0, 14, 7, 5, 11, 0, 7, 0, 4, 0, 0, 0]

我希望它在不使用 numpy 的情况下在 python 中转换为“矩阵”形式。

A_matrix = [ [0, 0, 0, 5, 7, 0],
             [5, 1, 14, 11, 0, 0],
             [20, 8, 7, 0, 4, 0]
           ]

【问题讨论】:

  • 到目前为止你尝试了什么?
  • 请看here

标签: python list


【解决方案1】:

您可以使用列表推导跨过数组,其中每个内部列表从不同的偏移量开始

>>> [A_list[start::3] for start in range(3)]
[[0, 0, 0, 5, 7, 0], [5, 1, 14, 11, 0, 0], [20, 8, 7, 0, 4, 0]]

这基本上是您使用numpy.reshape 实现的目标

>>> np.array(A_list).reshape((-1,3)).T
array([[ 0,  0,  0,  5,  7,  0],
       [ 5,  1, 14, 11,  0,  0],
       [20,  8,  7,  0,  4,  0]])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-17
    • 1970-01-01
    • 1970-01-01
    • 2020-03-03
    • 2019-01-22
    • 2014-12-28
    • 1970-01-01
    • 2019-10-20
    相关资源
    最近更新 更多