Терминология: Python и Numpy – `iterable` versus` array_like`

В чем разница между iterable и array_like объектом в программах Python, использующих Numpy ?

Оба iterable и array_like часто встречаются в документации Python, и они имеют некоторые аналогичные свойства.

Я понимаю, что в этом контексте объект array_like должен поддерживать Numpy типа Numpy такие как широковещательная передача, однако Numpy массивов Numpy также повторяется. Правильно ли говорить, что array_like – это расширение (или супер-множество?) iterable ?

2 Solutions collect form web for “Терминология: Python и Numpy – `iterable` versus` array_like`”

Термин «подобный массиву» действительно используется только в NumPy и относится ко всему, что может быть передано как первый параметр numpy.array() для создания массива.

Термин «итерируемый» является стандартной терминологией на языке python и относится ко всему, что можно повторить (например, используя for x in iterable ).

Большинство объектов, подобных массиву, являются итерабельными, за исключением скалярных типов.

Многие итерации не похожи на массивы – например, вы не можете построить массив NumPy из выражения генератора, используя numpy.array() . ( numpy.fromiter() этого вам придется использовать numpy.fromiter() . Тем не менее выражение генератора не является «подобным массиву» в терминологии документации NumPy.)

Хотя первая часть ответа Свена верна, я хотел бы добавить, что подобные массиву объекты не обязательно должны быть итерируемыми.

Например, в моей конкретной ситуации мне было интересно использовать numpy.rint() которая принимает объекты типа массива со скалярами типа int . Они не повторяются, но они принимаются. Вы также можете передать int s в numpy.array() , поэтому они похожи на массивы.

Вот подтверждение из списка рассылки «NumPy-Discussion»: https://mail.scipy.org/pipermail/numpy-discussion/2016-November/076224.html

Interesting Posts

Как получить значение аргументов, переданных функциям в стеке?

CherryPy не запустится

как обслуживать загружаемый zip-файл в django

Как я могу заменить или удалить объекты HTML, такие как «& nbsp;», используя BeautifulSoup 4

Безопасен ли сейф?

Как я могу просто изменить путь для всего пакета запросов в папке библиотек в моем проекте appengine

Деградация производительности матричного умножения одиночных и двухточечных массивов на многоядерной машине

Python 3.2 – GIL – хороший / плохой?

Получение времени разрешения DNS и времени ответа с помощью Python

Как вы принудительно обновляете wx.Panel?

Самый быстрый способ чтения ввода в Python

Как установить часовой пояс в Django?

Как мне настроить приложение для Android с помощью Python?

Сортировка строк по второму слову в каждой строке текстового файла, а затем отображение его

Удалить нулевые поля из ответа Django Rest Framework

Python - лучший язык программирования в мире.