Ответы пользователя по тегу Telegram
  • Как сортировать и вывести в список места по возрастанию смотря на дистанцию от геопозиции пользователя на python с помощью geopy?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Во-первых, у вас тут нет "словаря", из которого можно "отправить все места списком из словаря". У вас есть tuple - это не словарь. Это кортеж. Кортеж в обычном смысле не сортируется, он по сути своей неизменная структура. Хотя, конечно, если его содержимое переложить в структуру, которая может меняться, то переложенное содержимое отсортировать можно. Но, мне думается, так делать не нужно.

    Во-вторых, вы там получаете список дистанций distance. По-идее, индексы значений этого списка соответствуют индексам вашего кортежа, и можно перебирать значения дистанций от максимального к минимальному и по найденному следующему значению получать его индекс и использовать как индекс для получения значения из кортежа.
    Грубо говоря, находим максимальное значение в списке distance, считаем его текущим, находим индекс текущего значения, по нему получаем значение из кортежа. Это у вас уже реализовано. А затем ищем значение в списке distance, которое меньше текущего, но больше всех остальных. Считаем его текущим. Получаем его индекс, получаем по этому индексу значение из кортежа, повторяем цикл поиска следующего значения дистанции меньше текущего, пока существует значение дистанции меньше текущего.
    Ответ написан
    6 комментариев