我有一個嵌套列表看起來像這樣:刪除重複,並找到獨特的子列表
lst = [[1,2,3],[1,2],[1,2,3],[2,3],[4,5],[2,3],[2,4],[4,2]]
我想找到獨特的子列表中lst
。使用上面的例子,我想找到:
lst_set = [1,2,3],[1,2],[2,3],[4,5],[2,4]]
順序沒關係。換句話說,[2,4]
和[4,2]
是一樣的。
我有一個嵌套列表看起來像這樣:刪除重複,並找到獨特的子列表
lst = [[1,2,3],[1,2],[1,2,3],[2,3],[4,5],[2,3],[2,4],[4,2]]
我想找到獨特的子列表中lst
。使用上面的例子,我想找到:
lst_set = [1,2,3],[1,2],[2,3],[4,5],[2,4]]
順序沒關係。換句話說,[2,4]
和[4,2]
是一樣的。
In [22]: lst = [[1,2,3],[1,2],[1,2,3],[2,3],[4,5],[2,3],[2,4],[4,2]]
In [23]: set(frozenset(item) for item in lst)
Out[23]:
set([frozenset([2, 4]),
frozenset([1, 2]),
frozenset([2, 3]),
frozenset([1, 2, 3]),
frozenset([4, 5])])
不錯,不知道冰凍集 – Axarydax
哦哇,謝謝。我也不知道冰凍套裝。 – user1728853
看看內置的set()
函數。由於列表不可用,所以在使用set()之前,可能需要將列表變成一個元組。
這意味着:
set([tuple(sorted(x)) for x in lst])
set(tuple(sorted(i)) for i in lst)
您可以鏈接到一個? – user1728853
找你自己。 – Marcin