У меня есть список наборов:удаление дубликатов в списке наборов
L = [set([1, 4]), set([1, 4]), set([1, 2]), set([1, 2]), set([2, 4]), set([2, 4]), set([5, 6]), set([5, 6]), set([3, 6]), set([3, 6]), set([3, 5]), set([3, 5])]
(на самом деле в моем случае преобразования списка взаимных кортежей)
, и я хочу, чтобы удалить дубликаты, чтобы получить :
L = [set([1, 4]), set([1, 2]), set([2, 4]), set([5, 6]), set([3, 6]), set([3, 5])]
Но если я стараюсь:
>>> list(set(L))
TypeError: unhashable type: 'set'
Или
>>> list(np.unique(L))
TypeError: cannot compare sets using cmp()
Как получить список наборов с различными наборами?
Одним из способов может быть преобразование списка 'set' в' list' из 'list', а затем удаление дубликатов, а затем преобразование элементов' list' обратно в 'set'. – ZdaR
@ZdaR Я собираюсь сказать это жирным шрифтом: ** Ваш намек неверен **. Следуя части ваших инструкций, которые говорят: «* преобразуйте список' set' в 'list' из' list', а затем удалите «dupicates *», мы получаем этот список (map (list, [{3, 11}, {11, 3}])) 'output' [[3, 11], [11, 3]]'. – ogogmad