使用生成器初始化numpy数组可以通过numpy.fromiter()函数实现。该函数接受一个可迭代对象作为输入,并返回一个新的一维数组。
下面是一个示例代码:
import numpy as np
# 定义一个生成器函数
def generator():
for i in range(5):
yield i
# 使用生成器初始化numpy数组
arr = np.fromiter(generator(), dtype=int)
print(arr)
输出结果为:
[0 1 2 3 4]
在上述示例中,我们定义了一个生成器函数generator()
,它会生成一系列整数。然后,我们使用np.fromiter()
函数将生成器对象转换为numpy数组arr
。通过指定dtype=int
,我们确保生成的数组元素类型为整数。
这种方法适用于需要使用自定义逻辑生成数组元素的情况,例如根据某种规则生成特定的数值序列。
领取专属 10元无门槛券
手把手带您无忧上云