リストから中身の順番を保持しつつ,重複を取り除きたいときに使える方法をメモしておく.

set を使えば重複はなくなるが,順番がリセットされる.

>>> a = [1,5,4,7,4,2,7,8,2,3,8,5]
>>> set(a)
set([1, 2, 3, 4, 5, 7, 8])


そこで,sorted と key として index を使うと,

>>> sorted(set(a), key=a.index)
[1, 5, 4, 7, 2, 8, 3]

となる.




やじるし Python関連メモの目次