Просто передайте значения без списка в виде кортежа значений x
from scipy.interpolate import NearestNDInterpolator
points = [[0,0,0], [1,0,0], [1,1,0],[0,1,0],[.5,.5,1]]
values = [1,2,3,4,5]
interpolator = NearestNDInterpolator(points,values)
interpolator((.5,.5,.8))
# 5
Если вы хотите придерживаться проходящих списков, вы можете распаковать содержимое списка, используя *
как
interpolator(*[.5,.5,.8])
Для интерполяции для более чем одной точки, вы можете map
интерполировать на свой список точек (кортежей)
answer = list(map(interpolator, [(.5,.5,.8), (.05, 1.6, 2.9)]))
# [5, 5]