Numpy Fromiter создает список при использовании карты во время оценки?
В этом примере я хочу знать, если 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])