У меня есть список, который я использую для создания всех комбинаций itertools.comЭлементы в каждом элементе списка могут быть разделены строкой ":".Мне нужно удалить элементы списка, в которых более одного вхождения совпадают в более чем 1 элементе.Символы в строке до «:» (разделитель, который используется для соответствия регулярному выражению ???) должны проверять каждый подэлемент в элементе списка.Или есть лучший способ?
inList = [['TEST1: sub1'],
['TEST1: sub2'],
['TEST1: sub3'],
['TESTING FOR FUN: randomtext'],
['TESTING FOR FUN: random text x2'],
['ABC123: dog']]
outputList = list(combinations(inList,3))
outputList
Я получаю это в результате:
[(['TEST1: sub1'], ['TEST1: sub2']),
(['TEST1: sub1'], ['TEST1: sub3']),
(['TEST1: sub1'], ['TESTING FOR FUN: randomtext']),
(['TEST1: sub1'], ['TESTING FOR FUN: random text x2']),
(['TEST1: sub1'], ['ABC123: dog']),
(['TEST1: sub2'], ['TEST1: sub3']),
(['TEST1: sub2'], ['TESTING FOR FUN: randomtext']),
(['TEST1: sub2'], ['TESTING FOR FUN: random text x2']),
(['TEST1: sub2'], ['ABC123: dog']),
(['TEST1: sub3'], ['TESTING FOR FUN: randomtext']),
(['TEST1: sub3'], ['TESTING FOR FUN: random text x2']),
(['TEST1: sub3'], ['ABC123: dog']),
(['TESTING FOR FUN: randomtext'], ['TESTING FOR FUN: random text x2']),
(['TESTING FOR FUN: randomtext'], ['ABC123: dog']),
(['TESTING FOR FUN: random text x2'], ['ABC123: dog'])]
Но я хотел бы удалить, где подстроки соответствуют подэлементам вплоть до разделителя":".
Требуемый вывод после того, как подэлементы проверены на> 1 вхождение в других подэлементах элемента списка:
(['TEST1: sub1'], ['TESTING FOR FUN: randomtext']),
(['TEST1: sub1'], ['TESTING FOR FUN: random text x2']),
(['TEST1: sub1'], ['ABC123: dog']),
(['TEST1: sub2'], ['TESTING FOR FUN: randomtext']),
(['TEST1: sub2'], ['TESTING FOR FUN: random text x2']),
(['TEST1: sub2'], ['ABC123: dog']),
(['TEST1: sub3'], ['TESTING FOR FUN: randomtext']),
(['TEST1: sub3'], ['TESTING FOR FUN: random text x2']),
(['TEST1: sub3'], ['ABC123: dog']),
(['TESTING FOR FUN: randomtext'], ['ABC123: dog']),
(['TESTING FOR FUN: random text x2'], ['ABC123: dog'])]
* Обратите внимание, что первые 2 элемента в списке удалены вжелаемый вывод?(это относится к другим, где подстрока до ": "
встречается независимо от длины строки.