重複の可能性:
Python:リストのリストから重複を削除する
私がリストを持っていると言う
a=[1,2,1,2,1,3]
aのすべての要素がハッシュ可能である場合(その場合のように)、これは仕事をします:
list(set(a))
しかし、もしも
a=[[1,2],[1,2],[1,3]]
?
重複の可能性:
Python:リストのリストから重複を削除する
私がリストを持っていると言う
a=[1,2,1,2,1,3]
aのすべての要素がハッシュ可能である場合(その場合のように)、これは仕事をします:
list(set(a))
しかし、もしも
a=[[1,2],[1,2],[1,3]]
?
Python 2
>>> from itertools import groupby
>>> a = [[1,2],[1,2],[1,3]]
>>> [k for k,v in groupby(sorted(a))]
[[1, 2], [1, 3]]
Python 3でも機能しますが、すべての要素は注文可能な型でなければならないことに注意してください。
この集合の内包的理解は、リストのリストに対して機能し、タプルのセットを生成します。
>>> {(tuple(e)) for e in a}
set([(1, 2), (1, 3)])
次に、それを使用して、重複のないリストのリストに戻します。
>>> [list(x) for x in {(tuple(e)) for e in a}]
[[1, 2], [1, 3]]