Я пытаюсь извлечь все уникальные комбинации строк из списка списков в Python. Например, в приведенном ниже коде ['a', 'b', 'c'] и ['b', 'a', 'c'] не являются уникальными, а ['a', 'b', ' c '] и [' a ',' e ',' f '] или [' a ',' b ',' c '] и [' d ',' e ',' f '] уникальны.Извлечение уникальных комбинаций строк из списка списка в Python
Я попытался преобразовать свой список списков в список кортежей и использовать наборы для сравнения элементов, но все элементы все еще возвращаются.
combos = [['a', 'b', 'c'], ['c', 'b', 'a'], ['d', 'e', 'f'], ['c', 'a', 'b'], ['c', 'f', 'b']]
# converting list of list to list of tuples, so they can be converted into a set
combos = [tuple(item) for item in combos]
combos = set(combos)
grouping_list = set()
for combination in combos:
if combination not in grouping_list:
grouping_list.add(combination)
##
print grouping_list
>>> set([('a', 'b', 'c'), ('c', 'a', 'b'), ('d', 'e', 'f'), ('c', 'b', 'a'), ('c', 'f', 'b')])
Спасибо! Да, должно было подумать, чтобы отсортировать, прежде чем я сравнил. – Bryan