В моей текущей работе я много раз использую методы Numpy и список, и в интересах наилучшей производительности у меня есть следующие вопросы:
Что на самом деле происходит за кулисами, если я создаю массив Numpy следующим образом?
a = numpy.array( [1,2,3,4] )
Я предполагаю, что сначала python создает обычный список, содержащий значения, затем использует размер списка для выделения массива numpy, а затем копирует значения в этот новый массив. Правильно ли это, или интерпретатор достаточно умен, чтобы понять, что список является только промежуточным и вместо этого скопировать значения напрямую?
Аналогично, если я хочу создать массив numpy из понимания списка с помощью numpy.fromiter():
a = numpy.fromiter( [ x for x in xrange(0,4) ], int )
приведет ли этот результат к промежуточному списку создаваемых значений перед тем, как будет отправлен в fromiter()?
С уважением Niels