Since the lists are mutable, they cannot be hashed. The best bet is to convert them to a tuple and form a set, like this
>>> mat = [[1,2,3],[4,5,6],[1,2,3],[7,8,9],[4,5,6]]
>>> set(tuple(row) for row in mat)
set([(4, 5, 6), (7, 8, 9), (1, 2, 3)])
We iterate through the mat
, one list at a time, convert that to a tuple (which is immutable, so set
s are cool with them) and the generator is sent to the set
function.
If you want the result as list of lists, you can extend the same, by converting the result of set
function call, to lists, like this
>>> [list(item) for item in set(tuple(row) for row in mat)]
[[4, 5, 6], [7, 8, 9], [1, 2, 3]]
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…