Numpy Fromiter создает список при использовании карты во время оценки? - PullRequest
0 голосов
/ 27 февраля 2019

В этом примере я хочу знать, создает ли numpy.fromiter список во время оценки.То, что я хочу, - это «ленивая» оценка, когда использование итерируемого избегает выделения / отмены выделения списка.Обратите внимание, что пример функции представляет собой метрику расстояния, а на выходе - список расстояний между точкой и набором точек.Это не то, о чем идет речь, это просто пример.Также мне нужно использовать product, потому что в реальном случае это будет itr.product(xyz, repeat=2), это упрощено.

import numpy as np
import itertools as itr
xyz = np.array([[0,0,0], [75,75,25], [50,75,100], [0, 50, 0]], np.int)
wide = len(xyz)
p = np.array([[50, 50, 50]], np.int)
np.fromiter(map(lambda y:
                 np.sum(np.abs(p - y)), itr.product(xyz, repeat=1)),
             np.int, wide)

Вывод array([150, 75, 75, 100])

...