解决方法当然是创建所需形状的数组,然后复制数据:
In [19]: lst = [Test([1, 2, 3]), Test([3, 2, 1])]In [20]: arr = np.empty(len(lst), dtype=object)In [21]: arr[:] = lst[:]In [22]: arrOut[22]: array([Test([1, 2, 3]), Test([3, 2, 1])], dtype=object)
请注意,无论如何,如果解释可迭代对象的numpy行为(您要使用的是吧?)与numpy版本相关,我不会感到惊讶。甚至可能是越野车。也许其中一些错误实际上是功能。无论如何,当更改Numpy版本时,我会小心避免损坏。
相反,复制到预先创建的数组中应该更可靠。



