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)],
  ]

0 ответов

Другие вопросы по тегам