如何像MATLAB一样在python中使用空数组?

问题描述 投票:0回答:1

我正在实现从MATLAB到Python的代码。我必须定义一些空数组,为它们分配一些值,并使它们在代码正文中为空。

比方说,我在MATLAB中的代码看起来像这样:

s1 = []

s1 = [A.T]

s1将等同于MATALB中的下一次迭代(s1 = [])中的空。我试图像下面这样用python编写:

s1 = []
s1.append(A.T)
s11 = np.vstack(s1)

并且我可以在代码中使用s11而不是s1。但是,在接下来的迭代中,我应该清空s11,所以我这样写:s11 = []

由于我在上一次迭代中将s11 = np.vstack(s1)等同于None对象(s11),因此当到达这行[]时,这样做会产生错误。

总之,我想知道如何在python中创建一个空数组,为它分配或附加值,然后再次使其为空?s1是函数的输入,我必须有能力在不同的迭代中使其为空。在MATLAB中非常简单,没有任何麻烦。

任何评论将不胜感激。谢谢

python arrays matlab append empty-list
1个回答
0
投票

当我阅读您的问题时,您似乎正在使用列表。这有点令人困惑,因为python上的数组是其他列表。

起先,您已经提到了您问题的旁听者:

A = [[1,2],[3,4]]
s1 = []
s1.append(A)

s11 = np.vstack(s1)
s11 = []

非常重要的一件事:当您使用np.vstack时,您的列表将更改为numpy.array。因此,您不能再使用del s11[:]

如果这不起作用,请向我们提供有关A.T的更多信息,也许存在某些数据类型问题。

剩下的一件事:您正在写一个正在引发的错误。对于我们来说,很难通过距离您的计算机远的距离神奇地读取您的错误消息(这是非法的)。

这两件事:错误消息和您的最小示例中的完整数据对于我们帮助您是必需的。

© www.soinside.com 2019 - 2024. All rights reserved.