Pythonでリストの重複を取り除く方法

Pythonでリストの要素の重複を取り除きたいってことありませんか?

リストを操作して取り除くための方法は2つあります。

1つはsetを使う方法、

2つ目はdict.fromkeysを使う方法です。

順番に解説していきますね。

setでリスト内の要素の重複を消す

順番を気にしないのであれば以下のコード。

l = ['ben','car','apple','ben','car','dick']

# 順番はランダムで、リストの重複を取り除く
print(set(l))
print(list(set(l)))

#{'car', 'apple', 'ben', 'dick'}
#['car', 'apple', 'ben', 'dick']

順番を保持するのであれば

順番を保持したいのであれば以下の通りです。

# 順序を保持したまま、リストの重複を取り除く
print((dict.fromkeys(l)))
# リストにする
print((list(dict.fromkeys(l))))

#{'ben': None, 'car': None, 'apple': None, 'dick': None}
#['ben', 'car', 'apple', 'dick']

 

ABOUTこの記事をかいた人

個人アプリ開発者。Python、Swift、Unityのことを発信します。月間2.5万PVブログ運営。 Twitter:@yamagablog