我有一个看起来像这样的嵌套列表:
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]
都是一样的。
set(tuple(sorted(i)) for i in lst)
看一下内置set()
函数。由于列表是不可散列的,您可能需要在使用 set() 之前将列表转换为元组。
这意味着:
set([tuple(sorted(x)) for x in lst])
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])])