在 Python 中从 For 循环中存储多个矩阵
Posted
技术标签:
【中文标题】在 Python 中从 For 循环中存储多个矩阵【英文标题】:Storing Multiple Matrices from a For Loop in Python 【发布时间】:2021-11-18 12:38:40 【问题描述】:我正在尝试将以下 Matlab 代码转换为 Python:
n = 10 ;
T = cell(1, n) ;
for k = 1 : n
T1,k = 20*k + rand(10) ;
end
它存储了 for 循环生成的所有矩阵。如何在 Python 中编写类似的代码?
【问题讨论】:
您能否添加一个预期输出的示例? 【参考方案1】:您可以使用普通列表:
import numpy as np
n = 10
t = []
for k in range(n):
t.append(20 * (k+1) + np.random.rand(n,n))
print(t)
【讨论】:
我喜欢你保留问题代码的两个空格缩进样式:-) 这是正确的,但python
和 numpy
的不常见组合。可能是 OP 正在寻找的。span>
感谢@Mohammad。它运作良好。现在,如何在一个数组中分别查看每个矩阵?例如,在Matlab中,运行我在问题中提到的Matlab代码后,我运行以下T1=T1,1
以查看第一个矩阵和T2=T1,2
等。我怎么能在python中做到这一点?再次感谢您。
我知道了@Mohammad。我只需要在 python 中执行以下操作:t1=t[1]
查看第一个数组,t2=t[2]
查看第二个数组,依此类推。
@MMKarim 小心,因为 python 中的索引从 0 开始,所以第一个元素应该是 t[0]
而不是 t[1]
。如果您想将它们全部放在一个数组中,可以使用tall =np.ravel(t).reshape(10,-1)
以上是关于在 Python 中从 For 循环中存储多个矩阵的主要内容,如果未能解决你的问题,请参考以下文章