我目前正在从 Matlab 切换到 Python,在 Matlab 中相当简单的操作在 Python 中似乎非常棘手。
给定
A = array([0, 0, 0, 0])
B = 1
C = 2
D = array([3, 4])
我只找到这种方式得到以下E:
E = np.vstack((A, np.hstack((np.array([B, C]), D))))
在 Matlab 中,同样的 E 可以简单地写成:
E = [A; B, C, D]
有没有更简单的方法在 Python 中获取 E?
请您参考如下方法:
作为一年多前从 MATLAB 过渡到 Python 的人,您并不是唯一经历语法学习曲线的人。完成几个示例后,您就会开始掌握它的窍门。
正如@abarnert 在评论中提到的,只需像您所做的那样实例化您的数组:
import numpy as np
A = np.array([0, 0, 0, 0])
B = 1
C = 2
D = np.array([3, 4])
然后您可以按如下方式构建输出矩阵:
E = np.matrix([A, [B, C, *D]])
给出:
[[0 0 0 0]
[1 2 3 4]]
