gpt4 book ai didi

python - 生成器在传递给 "numpy.array"时不工作是一个错误吗?

转载 作者:行者123 更新时间:2023-11-28 22:29:19 26 4
gpt4 key购买 nike

如果将生成器传递给 numpy.arraynumpy 不会迭代对象,也不会报错,即使 copy=是的。对数组进行索引的任何尝试都会失败,而且通常会在很晚的时候发生,并且在很远的代码中。

我理解 numpy 想从一开始就知道数组的大小,但这种行为并不好。它应该复制到中间列表或引发异常。

最佳答案

这不是错误,而是正常现象。如果要从迭代器创建数组,请使用 fromiter:

>>> import numpy
>>> a = (i*i for i in range(7))
>>> numpy.array(a)
array(<generator object <genexpr> at 0x10dbc1b40>, dtype=object)
>>> numpy.fromiter(a, dtype=float)
array([ 0., 1., 4., 9., 16., 25., 36.])

关于python - 生成器在传递给 "numpy.array"时不工作是一个错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43104029/

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