【发布时间】:2021-12-06 01:18:45
【问题描述】:
据我了解,当我们要定义一个numpy数组时,我们必须定义它的大小。
但是,就我而言,我想定义一个 numpy 数组,然后根据我在 for 循环中的值对其进行扩展。每次运行的值的形状可能不同。所以我无法提前定义numpy数组的形状。
有什么办法可以克服吗?
我想避免使用列表。
谢谢
【问题讨论】:
-
请您举一些例子吗?
-
无法创建没有大小的 NumPy 数组。您可以从一个小的(1 个元素?)数组开始,然后向其中添加项目。
-
抱歉,这不是我们在 numpy 中做事的方式。列表是为了增长。数组有固定的大小。
-
如果你知道
for循环的范围,你就知道目标数组的大小。 -
为什么要避免使用列表?使用 append 增长一个列表比通过创建一个新的数组并从旧的复制数据来增长一个数组要快得多。您显然使用过 MATLAB。在那里,您可以通过索引
M[i,j]=0来增长矩阵,但我怀疑这在后台做了很多工作。这不是我多年前使用 MATLAB 时经常做的事情。
标签: python arrays python-3.x list numpy