【发布时间】:2014-09-05 20:30:27
【问题描述】:
我经常做以下事情:
import numpy as np
def my_generator_fun():
yield x # some magically generated x
A = []
for x in my_generator_fun():
A += [x]
A = np.array(A)
有没有更好的解决方案,从一开始就对 numpy 数组进行操作,避免创建标准 python 列表?
请注意,+= 运算符允许使用任意维度的数组扩展一个空且无量纲的数组,而 np.append 和 np.concatenate 需要等维度的数组。
【问题讨论】:
-
不,我的观点略有不同:想象一下您连续构建数组或者您想要以不同方式初始化每个元素的情况。但是,我确实需要完全相同的功能,而不仅仅是相同的结果。
-
你为什么还要用这个循环?为什么不直接制作
A = [[0,1],[1,2],[3,4]]? -
另一个可能的重复项..您确实需要先研究您要查找的内容...stackoverflow.com/questions/10346336/…
-
好的,抱歉这个不好的例子。我将再次编辑它...