3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Python】集合型(セット)について図でわかりやすくまとめてみた

Last updated at Posted at 2020-05-04

#この記事を書いた理由

AI人材目指してPythonを勉強しているのですが、集合型の内容がもろ数Aの集合の内容だったので今後使うことが多いのかなと思ったので、まとめます。

Pythonの勉強はこちらを活用して進めてます。
Python入門者のための学習ロードマップ【ブログでも独学可能】

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

Python, set型で集合演算(和集合、積集合や部分集合の判定など)

#集合型(セット)とは

  • 中にある要素が重複せず、順番がなく番号が定義されていない要素の塊
  • シーケンス型(文字列、タプル、リスト)の親戚みたいな感じ
  • { }の中にコンマで区切って定義
  • set( )関数でデータタイプを集合型(setタイプ)に変えて定義

#図示してみた
2つの集合型aとbがあったとする。

  • aとbで共通している集合(積集合):a & b
  • aから「aとbで共通している要素(積集合)」を除いた集合(差集合):a - b
  • bから「aとbで共通している要素(積集合)」を除いた集合(差集合):b - a

は以下の図のイメージ。
IMG_1621.jpg

  • aとbの要素を全て合わせた集合(和集合):a | b

は以下の図のイメージ
IMG_1622.jpg

-「aに属してbに属さないもの」と「bに属してaに属さないもの」を合わせた集合(対象差集合):a ^ b

は以下の図のイメージ
IMG_1623.jpg

#集合体の演算方法

先ほど図示したものを実際にコードで表現してみる。

set.py
# 集合型aとbを定義
a = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
b = {2, 4, 6, 8, 10, 12} 

# 積集合
print(a & b)  #実行結果:{2, 4, 6, 8, 10}

# 差集合
print(a - b)  #実行結果:{1, 3, 5, 7, 9}
print(b - a)  #実行結果:{12}

# 和集合
print(a | b)  #実行結果:{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12}

# 対象差集合
print(a ^ b) #実行結果:{1, 3, 5, 7, 9, 12}

ちなみに集合型の演算にはメソッドも使える。

set.py
# 集合型aとbを定義
a = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
b = {2, 4, 6, 8, 10, 12} 

# 積集合
print(a & b)  #実行結果:{2, 4, 6, 8, 10}
print(a.intersection(b))  #実行結果:{2, 4, 6, 8, 10}

# 差集合
print(a - b)  #実行結果:{1, 3, 5, 7, 9}
print(a.difference(b))  #実行結果:{1, 3, 5, 7, 9}

print(b - a)  #実行結果:{12}
print(b.difference(a))  #実行結果:{12}

# 和集合
print(a | b)  #実行結果:{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12}
print(a.union(b)) #実行結果:{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12}

# 対象差集合
print(a ^ b) #実行結果:{1, 3, 5, 7, 9, 12}
print(a.symmetric_difference(b)) #実行結果:{1, 3, 5, 7, 9, 12} 

#おわりに

部分集合に関してはまた別の記事にでもまとめてみようかなと。
やはり何かしらアウトプットした方が頭の中が整理できるのでオススメ。

Python、楽しい!

3
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?