Задать вопрос
@Drovosek01

Зачем нужны NumPy массивы, если в Python есть свои списки?

Собственно вопрос в заголовке.
Непонятно, зачем при разработке NumPy сделали отдельный вид массивов, в Python ведь есть списки, которые точно так же хранят информацию.
  • Вопрос задан
  • 2275 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 1
longclaps
@longclaps
Тут уместна такая аналогия: вот дерево яблоня (ты ведь смыслишь в деревьях?), к нему привили черенок дерева груша.
NumPy массивы - это не родные, но отлично привившиеся к питону обёртки над С-массивами, используемыми внутри BLAS-ядра библиотеки NumPy.
Они, эти массивы, содержат примитивные типы данных языка С - int, double и.т.д.
Питоновский лист - это массив питоновских объектов. Хоть некоторые из них и называются так же, как примитивные типы данных C (например int), они - другие. У них даже размер в памяти разный - 4 байта для C-int и от 24 байт (а для чисел свыше 2**30 - еще больше) для python-int (ссылка).
Различия этим не исчерпываются, но и этого достаточно )

ps обрати внимание на ответ Тимур Барбашов - он врёт, как сивый мерин. Реализация типа list лежит в файле с выразительным именем arraymodule.c.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Массивы Numpy жрут меньше памяти и операции с ними быстрее.
Ответ написан
Комментировать
KevlarBeaver
@KevlarBeaver
Разработчик
Списки по своему устройству очень сильно отличаются от массивов. Учитывая, что вы дошли до NumPy, вы должны это хоть примерно представлять. Ну а NumPy предназначен для быстрой обработки данных, потому списки там ну никак не катят.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
SpectrumData Екатеринбург
от 200 000 до 300 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
18 янв. 2025, в 03:12
1000 руб./за проект
18 янв. 2025, в 00:01
500 руб./за проект
17 янв. 2025, в 23:56
10000 руб./за проект