术语:Python和Numpy-“可迭代”与“ array_like”

问题描述

实际上,术语“类似数组”仅在NumPy中使用,是指可以作为第一个参数传递numpy.array()以创建数组的任何内容

术语“可迭代”是标准的python术语,是指可以迭代的任何内容(例如使用for x in iterable)。

除标量类型外,大多数类似数组的对象都是可迭代的。

许多可迭代项不是数组形式的- 例如,您不能使用生成器表达式构造NumPy数组numpy.array()。(您将不得不使用它numpy.fromiter()。但是,在NumPy文档的术语中,生成器表达式不是“类似数组的”。)

解决方法

使用的Python程序中的iterablearray_like对象之间有什么区别Numpy

两者iterablearray_like经常在Python文档中看到,并且它们共享一些相似的属性。

我了解在这种情况下,array_like对象应支持Numpy广播等类型操作,但是Numpy数组区域也是可迭代的。说array_like是的扩展(或超集?)是否正确iterable