Python — группировать по любому совпадающему значению
У меня есть такая структура данных
[
(123, 321),
(123, 456),
(999, 654),
(111, 456),
(999, 898),
(111, 654),
(481, 739),
]
Как я могу сгруппировать кортежи вместе по любому соответствующему элементу? т.е. получить этот результат (порядок не имеет значения)
[
[(123, 321), (123, 456), (111, 456), (111, 654), (999, 654), (999, 898)],
[(481, 739)],
]
Вот еще один пример:
input =
[
(123, 321),
(123, 456),
(111, 456),
(999, 898),
(481, 898),
(481, 549),
]
output =
[
[(123, 321), (123, 456), (111, 456)],
[(999, 898), (481, 898), (481, 549)],
]