【基本】Pythonの集合型(セット型)の宣言・操作と重要なメソッドについて解説!

2022-08-12

Pocket

こんにちは、爽です。皆さん、いかがお過ごしでしょうか?

今回はPythonの集合型(セット型)の宣言・操作と集合型で使われる重要なメソッドについて確認します。
集合型もPythonの重要なデータ構造として是非マスターしましょう!

■この記事の対象読者
・Pythonに興味がある方
・Pythonを学び始めてみたい方
・Pythonの集合型の詳細について知りたい方

なお、私はPythonをAnacondaをインストールしてJupyterで実行しています。MacのAnacondaのインストール方法とJupyterの使い方は下記記事にまとめているので良かったらご参考ください。

それではどうぞ!

Pythonの集合型の特徴と宣言方法

集合型は複数の要素を格納できる変数という点ではリスト型、タブル型と同じですが、それらとの違いは同じ値を持つことがなくユニークにデータを格納できる点です。
また、統合(Union)、重複の取得(Intercect)などの集合処理を高速で行うことができます。
ただし、リスト型、タプル型と違ってデータの中の順序は保持されていません。これはデータの中にインデックスを保持していないということです。

集合型の宣言

では具体的な宣言方法についてです。
Pythonでは集合型を{}(カーリーブラケット)でバリューを囲うことで宣言できます。
集合型に複数の要素を格納したい場合は、,(カンマ)で区切ります。

#集合型宣言
s = {1,2,3,4,4,5,5,6}
s
#>{1, 2, 3, 4, 5, 6}

#データ型の確認
type(s)
#>set

Pythonでは集合型もリスト型、タプル型と同様に非常にシンプルに宣言することができます。

集合型の操作

集合型にはインデックスが存在しない為、集合名[インデックス]と入力してもエラーとなります。

s[0]
# ---------------------------------------------------------------------------
# TypeError                                 Traceback (most recent call last)
# Input In [17], in <cell line: 3>()
#       1 s = {1,2,3,4,4,5,5,6}
# ----> 3 s[0]

# TypeError: 'set' object is not subscriptable

なお、集合型は以下のように高校の数学で習ったような論理的な計算が可能です。

#集合同士の引き算
t = {1,2,7}
t
#>{1, 2, 7}

s - t
#>{3, 4, 5, 6}

#集合の論理和(OR)
s | t
#>{1, 2, 3, 4, 5, 6, 7}

#集合の論理積(AND)
s & t
#>{1, 2}

#集合の排他(どちらか一方のみに存在)
s ^ t
#>{3, 4, 5, 6, 7}

集合型のメソッド

最後は集合型を操作するときに使う関数とメソッドを紹介します。
なお、集合型のメソッドは組み込み関数の為、Pythonの公式ドキュメントがあるので、このブログでは一部重要なものだけ紹介します。
>>組み込み型(Python公式ドキュメント)

#集合型宣言
s = {1,2,3,4,5}
s
#>{1, 2, 3, 4, 5}

#addメソッドで要素を追加する
s.add(10)
s
#>{1, 2, 3, 4, 5, 10}

#removeメソッドで要素を削除する
s.remove(10)
s
#>{1, 2, 3, 4, 5}

#clearメソッドで変数を初期化する
s.clear()
s
#>set()

参考資料

この記事はUdemyのPython+FlaskでのWebアプリケーション開発講座!!~0からFlaskをマスターしてSNSを作成する~という講座と現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイルという2つの講座を参考にさせていただき、作成しました。

Python+FlaskでのWebアプリケーション開発講座!!~0からFlaskをマスターしてSNSを作成する~

Udemyより抜粋

当講座は最低限のWeb開発の知識を知っていることが前提とはなりますが、とにかくPythonの説明とFlask開発の為の説明が充実しているのでおすすめです。
28時間に及ぶ長丁場の講座にはなりますが、絶対に聞く価値がある講座です。
これをマスターすればPythonでどんなアプリケーションでも作ることができると思います。

当講座のおすすめポイントを以下にまとめておきます。

当講座のおすすめポイント

とにかく説明が充実している

Webアプリ開発におけるフレームワークがなぜ有益なのか知ることができる

セキュリティ対策、Ajaxなどの技術も知れる

現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル

画像に alt 属性が指定されていません。ファイル名: a1ee3d048d6aa860662b6f58c4aa167f-1024x328.png

当講座はPythonの基礎から応用まで幅広く学べる講座なのでおすすめです。
この講座の講師はとにかくPythonについての知識が豊富ですし、話も適度な速さで聞き取りやすいです。さすがのシリコンバレーです。
また、最後の方に機械学習で使うライブラリについても解説があるので、データサイエンス・AIについても多少知ることができます。

当講座のおすすめポイントを以下にまとめておきます。

当講座のおすすめポイント

シリコンバレーで働いているということもあり、講師のPythonの知識が豊富

話も適度な速さで聞き取りやすい

コードの意味だけでなく、それをどう応用するかまで解説してくれる

なお、Udemyについては以下の記事でまとめていますのでご参考ください。

まとめ

ということで、Pythonの集合型の宣言・操作と辞書型で使われる重要なメソッドを解説しました。
集合型の操作はリストと同様に使用頻度の高いデータ型なので、ぜひ押さえていただければと思います。
では、今回はここまでとさせていただきます。