[[1, '34', '44'], [1, '40', '30', '41'], [1, '41', '40', '42'], [1, '42', '41', '43'], [1, '43', '42', '44'], [1, '44', '34', '43']]
У меня есть список списков. Моя цель - проверить, имеет ли какой-либо один подсписок что-то общее с другими подсписками (за исключением первого объекта индекса для сравнения). Если у него есть что-то общее, объедините эти подсписки.
Например, для этого примера мой окончательный ответ должен быть примерно таким:
[[1, '34, '44', '40' '30', '41', '42', '43']]
Я могу понять, что я должен преобразовать подсписки в наборы, а затем использовать операцию union() и пересечение(). Но я застрял в том, как сравнивать каждый набор/подсписок. Я не могу запустить цикл по списку и сравнить каждый подсписок один за другим, так как содержимое списка будет изменено, и это приведет к ошибке.
Что я хочу знать, есть ли какой-либо эффективный способ сравнить все подсписки (преобразованные в наборы) и получить их объединение?
2
, которые не должны сочетаться? - person Peter Wood   schedule 11.06.2015