広告スペース(バナー)
🐍Python レッスン
基本文法の基礎8
データ構造とオブジェクト指向8
構文の基本を深める9
関数とデータ構造の応用9
アルゴリズムとテストの基礎8
文字列・数値操作の応用8
実務で役立つ機能8
アルゴリズム練習問題10
レッスン 28 / 69

集合(set)を使ってみよう

このレッスンでは、Pythonのset(集合)を使い、重複を許さないデータの管理と高速な検索ができるようになることを目標にします。「Python set 使い方」「Python リスト 重複削除」で調べている方向けです。

setは、同じ値を2つ以上入れられない「重複なしの箱」です。配列(リスト)から重複を取り除きたいときや、値が含まれているかを高速に調べたいときに便利です。リストのinよりsetinの方が、データ量が多いときに高速に動作するという性能上の利点もあります。

サンプルコードでは、重複を含むリストnumsからset(nums)で重複のないunique_numsを作り、sorted()で並び替えてから表示しています。setには順序がないため、取り出す順番を保証したい場合はこのようにリストへの変換や並び替えが必要になります。

初心者がよくつまずくのが、setの中身を添字でアクセスしようとしてエラーになることです。unique_nums[0]のような書き方はできず、値を取り出すにはfor文で1つずつ処理するか、リストに変換する必要があります。setはあくまで「含まれているかどうか」を高速に調べるためのデータ構造だと理解しておきましょう。

実務でも重複排除に頻繁に使われます。フォームで選択されたタグの重複を除去したり、訪問済みのページIDを記録して重複判定したりと、setは重複管理や高速な存在確認が必要な場面で幅広く使われています。

Python
OUTPUT / 実行結果

💡 初回実行時はPythonエンジンの読み込みに数秒かかります。

🎯
ここまでできればゴール達成!
重複のないタグを管理する機能が作れるようになります。
広告スペース(バナー)
広告スペース(記事内)