Python 3.8+Числа и математикафункция
math.dist
геометрия
Евклидово расстояние между двумя точками (последовательностями координат).
Синтаксис
math.dist(...)
Появился в 3.8; точки — любые последовательности координат любой размерности, но длины обязаны совпадать, иначе ValueError. Внутри считается так же, как hypot: без переполнения на промежуточных квадратах и с меньшей ошибкой округления, чем у ручного корня из суммы квадратов. Если расстояния только сравниваются между собой, дешевле обойтись суммой квадратов, не извлекая корень.
Примеры
import math
print(math.dist((0, 0), (3, 4))) # → 5.0
print(math.dist([1, 2, 3], [4, 6, 3])) # → 5.0
points = [(1, 1), (5, 5), (2, 3)]
print(min(points, key=lambda p: math.dist((0, 0), p))) # → (1, 1)
print(math.dist((0, 0), (1, 1, 1))) # → ValueError
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности