iliketocode Ответов: 2

Как найти наиболее похожий подсписок другого списка? Питон


У меня есть список из 60 подсписков. Каждый подсписок имеет 30 подсписок. Каждый под-под-список выглядит как [x, y] для каждого под-под-списка, как я могу найти ближайший под-под-список следующего под-списка?

Например, я нахожусь в подсписке[0], подсписке[0]. Теперь я перехожу в подсписок[1] и ищу подсписок,который имеет ближайшие координаты x, y.

Это пример того, чего я пытаюсь достичь:
input = [ [[99, 87], [400, 500], [300, 95]],
[[297, 107], [100, 118], [405, 450]] ]

output = [ [[99, 87],[100, 118]], [[400, 500], [405, 450]], [[300, 95], [297, 107]] ]


Что я уже пробовал:

Я пробовал что-то вроде этого, возможно, вычислить наименьшее расстояние между координатами x и y между субсублистом и другим субсублистом другого подсписка..
for i in range(1,len(listt)):
    for sublist[i] in listt:
        for j in range(len(sublist[i]))
            for subsublist[j] in sublist[i]:

Patrice T

Покажите образец ваших данных.
Список 1
Подсписок 11
Подсублист 111
Подсублист 112
Подсписок 12
...

iliketocode

Это пример того, чего я пытаюсь достичь:
входные данные = [ [[99, 87], [400, 500], [300, 95]],
[[297, 107], [100, 118], [405, 450]] ]

выход = [ [[99, 87],[100, 118]], [[400, 500], [405, 450]], [[300, 95], [297, 107]] ]

Patrice T

Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.

2 Ответов

Рейтинг:
2

Patrice T

Цитата:
Как найти наиболее похожий подсписок другого списка?

Во-первых, вам нужно понять проблему, и переформулировка в ясном виде-это хорошее начало.
Цитата:
Каждый под-под-список выглядит следующим образом [x, y]

Каждый суб-суб-список это координаты x и y того, что обычно называют a точка.
Понятие точки облегчает понимание проблемы.
Цитата:
как я могу найти ближайший под-под-список следующего под-списка?

Переформулируется следующим образом: для данной точки, как найти ближайшую точку в списке точек?
Это и есть суть вашей проблемы.
В вашей проблеме списки - это просто повторение одной и той же проблемы.

Если вы не дадите больше подробностей, грубая сила, вероятно, будет лучшим подходом.

Чтобы получить помощь по вашему коду, покажите его и объясните, где вы застряли.


Рейтинг:
0

Gerry Schmitz

Вы имеете дело с "точками", поэтому вы можете вычислить расстояние между любыми 2 точками и найти ту, которая ближе всего.

c# - вычисление расстояния между 2 точками - переполнение стека[^]