numpy数组等价于+=op

2024-06-16 10:37:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我经常做以下事情:

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.追加以及np.连接对等尺寸阵列的需求。在


Tags: importnumpyformydefasnpsome
2条回答

要获得相同的数组A,请执行以下操作:

A = numpy.arange(5)

数组通常不需要动态调整大小,但可以使用numpy.concatenate。在

使用^{}

def f(n):
    for j in range(n):
        yield j

>>> np.fromiter(f(5), dtype=np.intp)
array([0, 1, 2, 3, 4])

如果事先知道迭代器将返回的项数,则可以使用count关键字参数加快速度:

^{pr2}$

相关问题 更多 >