问题:假设我有一个列表如下:要消除其中元素都一样的子列表该咋办?
_list = [[1, 2, 3],
[2, 1, 3],
[3, 2, 1],
[3, 4, 5],
[4, 3, 5]]
问题分析:
1.消除相同元素的数据一般用集合set()
2.集合set()是一个哈希表,而列表是可变数据类型,所以要转成不可变数据类型: str / tuple
3.除此之外还要先排序,不然(0,1)和(1,0)是不一样滴
综上代码如下:
_result = {tuple(sorted(i)) for i in _list} # {(3, 4, 5), (1, 2, 3)}
result = [list(i) for i in _result]
print(result):
[[3, 4, 5], [1, 2, 3]]