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