gpt4 book ai didi

python - 如何在 python 中创建矩阵数组?

转载 作者:行者123 更新时间:2023-11-28 22:44:06 25 4
gpt4 key购买 nike

如何在 python 中创建矩阵数组?

在 MATLAB 中,我做这样的事情:

for i = 1:n
a{i} = f(i)
end

其中 f(i) 是一个返回固定大小的随机矩阵的函数。

在 python 中,我正在使用 numpy,但我不知道该怎么做。

import numpy as np
a = np.array([])
for i in range(0, n):
# a.insert(i, f(i)) and does not work
# a[i] = f(i) and does not work

最佳答案

  1. 如果你想要一个 rank-3 的 Numpy 数组,并且你预先知道 f(i) 的形状,你可以预先分配数组:

    a = np.zeros((n,) + shape)
    for i in range(n):
    a[i] = f(i)
  2. 如果您只想要一个矩阵列表(而不是 Numpy 数组),请使用列表理解:

    a = [f(i) for i in range(n)]
  3. 获取 Numpy 数组的另一种方法是从上面的列表理解转换:

    a = np.array([f(i) for i in range(n)])

    但是,这会比 #1 效率低,因为在构建 Numpy 数组之前,f(i) 的结果首先缓冲在一个动态大小的列表中。

    <

关于python - 如何在 python 中创建矩阵数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29990755/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com