配列内の重複しているデータを削除する方法をサクッと教えて下さい!

…という方に向けて、この記事を書いています。

 

ということでこんにちは、20代怠け者(@20sInvest)です!

Pythonのリスト(配列)に入力したデータの重複を削除したい、という場面はちょくちょく出てくると思います。

例えばこんなリストを…

l = [
"あああ",
"あああ",
"いいい",
"いいい",
"ううう",
"えええ",
"おおお",
"えええ",]

こうじゃ!

['いいい', 'おおお', 'ううう', 'えええ', 'あああ']

 

この記事では、コピペだけで即・重複削除できるコードをまとめました。

早速見ていきましょう!

【コード】重複データを削除する方法

ということで、その記述は以下の通り。

l = list(set(l))

 

lという配列変数に上記の処理を行うと、重複データが削除され、すべてユニークな値になるはずです。

もちろん、変数名は適宜置き換えてくださいね。

【解説】どういう処理をしているのか

たった1行の処理ですが、もう少し詳しく解説します。

 

l = list(set(l))

まず、配列をset()という処理を使って、Set型に変換しています。

Set型とは「集合を扱うための、複数の値を格納できる変数」です。

ナンノコッチャという感じですが、Set型にしたデータ同士を比較するために使う変数です。

この変数を使うと、「AのリストにはあってBのリストにはない値を探す」というような処理ができるようになります。

データ比較用に使う変数という感じですね。

 

で、このSet型に変換した時点で、重複している値をすべて削除してくれます。

先程のサンプルだと、「あああ」は1つだけに、「いいい」は1つだけに残されて、Set型の変数に格納されていくわけですね。

この仕様を使って、List型→Set型に変更して重複削除してしまおう!

…というのがこの処理です。

 

ただ、このままだとSet型に変更されたままなので、再びList型に変更し直してあげる必要があります。

重複削除されたデータはList型に戻しても元に戻るわけではないので、この方法を使えば超簡単に重複削除が出来る!というわけですね。

まとめ

以上、リストから重複しているデータを削除する超簡単な方法でした。

ぜひ、さっそく試してみてください! 

 

このように、コピペでそのまま使えるPythonスクリプトなど、Tipstourでは他にも色々な情報をシェアしています。

興味があれば、ぜひ他の記事もチェックしてみてください。

Python関連記事一覧