Python Glossary English

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Сообщить о неточности