• Skip to main content
  • Skip to secondary menu
  • Skip to primary sidebar
  • Skip to footer

AI活用エンジニアへの道

生成AI時代のエンジニアの生き方を考えるメディア(作成途中)

  • コラム
  • 生成AI
  • プログラミング
    • Python入門
    • Flask入門
    • Django入門
  • プロフィール
Home / プログラミング / Python / Pythonのset(セット)の利用方法。ユニオン、インターセクションなどの集合演算、各メソッドまとめ

Pythonのset(セット)の利用方法。ユニオン、インターセクションなどの集合演算、各メソッドまとめ

1 set(セット)の使い方、特徴、メソッド
2 set(セット)のユニオン(Union合併)、インターセクション(積集合)、ディファレンス(差集合)
3 set(セット)のサブセット、ディスジョイントセット
4 関連記事

set(セット)の使い方、特徴、メソッド

pythonのsetは、{}やset(配列)などとして、宣言する

主に、以下のような特徴がある

  • 同じ値を複数持つことがない(ユニーク)
  • 順序が保持されていない(挿入された順番通りに取り出すことができない)
  • ユニオンやインターセクションなどの集合処理を高速で行うことができる

Example

  • タプルの宣言
set_a = {'a','b','c','d','a'} # setを作成、'a'が2つあるが、1つしか入らない
print(set_a) # set_aには、{'a', 'd', 'c', 'b'}の4つの要素がある
print('e' in set_a) # set_aには、'e'はないため、Falseが返る
print('e' not in set_a) # set_aには、'e'があるため、Trueが返る
print(len(set_a)) # set_aの数を返す。4が返る

for i in set_a:
print(i) # set_aの中をループする。順番は保障されないため、実行するたびに表示される値が変わる

set_a.add('e') # set_aに'e'を追加する
set_a.remove('e') # set_aから'e'を削除する。'e'がない場合はKeyError
set_a.discard('e') # set_aから'e'を削除する。'e'がない場合にも何も起こりません
set_a.pop() # set_aから任意の要素を返して削除する
set_a.clear() # set_aから全ての要素を削除する

set(セット)のユニオン(Union合併)、インターセクション(積集合)、ディファレンス(差集合)

pythonのset(セット)では、以下のように利用する

  • union(|)・・・ユニオン、和集合を返す
  • intersection(&)・・・集合の共通する要素、積集合を返す
  • difference(-)・・・片方の集合にあり、片方の集合にない要素、差集合を返す
  • symmetric_difference(^)・・・どちらか一方にだけある要素の集合を返す

Example

  • セットの各メソッド
s = {'a', 'b', 'c', 'd'}
t = {'c', 'd', 'e', 'f'}

# s|t,s.union(t)では、sとtの和集合を返す
s={'a', 'b', 'c', 'd'} , t={'c', 'd', 'e', 'f'} のどちらかに存在する{'a','b','c','d','e','f'}を返す
s | t
s.union(t)

# s&t,s.intersection(t)は、sとtの積集合を返す
s={'a', 'b', 'c', 'd'} , t={'c', 'd', 'e', 'f'} の共通要素{'c','d'}を返す
s & t
s.intersection(t)

# s-t,s.difference(t)は、sとtの差集合を返す
s={'a', 'b', 'c', 'd'} のうちt={'c', 'd', 'e', 'f'} の要素を除いた{'a','b'}を返す
s - t
s.difference(t)

# s^t,s.symmetric_difference(t)は、対象差を返す
s={'a', 'b', 'c', 'd'} , t={'c', 'd', 'e', 'f'} のsとtの片方に含まれる{'a','b','e','f'}を返す
s ^ t
s.symmetric_difference(t)

# 以下のようにすると値を追加することもできる
s |= t # s = sとtのユニオン、つまりsにtの値を追加します。

set(セット)のサブセット、ディスジョイントセット

pythonのset(セット)には、セットの要素が別のセットにすべて含まれているか(含んでいるか)どうかを確認するメソッド、issubset,issupersetというメソッドがある。

逆に、Aのsetの要素とBのsetの要素と1つも被っていない場合に、Trueを返す、disjointというメソッドもある

Example

  • セットのメソッド(issubset, issuperset, isdisjoint)
s = {'apple', 'lemon'}
t = {'apple', 'banana', 'lemon', 'grape'}

print(s.issubset(t)) # s={'apple', 'lemon'} は全てt={'apple', 'banana', 'lemon', 'grape'} に含まれる。sはtのサブセットでTrueとなる
print(t.issuperset(s)) # t={'apple', 'banana', 'lemon', 'grape'}はs={'apple', 'lemon'} を含むため、tはsのスーパーセットでTrueとなる

u = {'ringo', 'remon'}
print(t.isdisjoint(u)) # t={'apple', 'banana', 'lemon', 'grape'}とu{'ringo', 'remon'} の要素は一つも被っていないため、Trueを返す

Python講座Pythonについてもっと知りたい!というかたはこちら、Pythonの基本文法から標準ライブラリ、応用ライブラリまで収録!!
【2020年版】: Python 3.8 データ構造、文法、アルゴリズム、オブジェクト指向、ライブラリ、完全マスター講座

関連記事

Pythonの型ヒント:コレクション型とOptional型の使い方
Pythonの型ヒント:コレクション型とOptional型の…
Python型ヒントについて、変数と関数の引数と戻り値に付与する基本的な書き方について
Python型ヒントについて、変数と関数の引数と戻り値に付与…
【まとめ】よく使うLinuxのショートカット11選
【まとめ】よく使うLinuxのショートカット11選
覚えておくべきLinuxコマンド50選
覚えておくべきLinuxコマンド50選
FlaskでFormを用いてPOSTリクエストを行い、送信された値を取得する
FlaskでFormを用いてPOSTリクエストを行い、送信さ…
Flaskでabortを用いてHTTPException例外を強制的に発生させる
Flaskでabortを用いてHTTPException例外…

Primary Sidebar

人気記事

  • 1
    PyCharm,IntelliJのおすすめプラグイン一覧
  • no image 2
    Python未経験だが、フリーランスの案件に採用さ…
  • 3
    ITエンジニアとしてスキルを高めるためのUdemy講…
  • 4
    アメリカのシリコンバレーでプログラミングを無…

特集記事

  • 1
    Cursorの使用のポイントとコツ(コード補完、イ…
  • 2
    ITエンジニアとしてスキルを高めるためのUdemy講…

目次

1 set(セット)の使い方、特徴、メソッド
2 set(セット)のユニオン(Union合併)、インターセクション(積集合)、ディファレンス(差集合)
3 set(セット)のサブセット、ディスジョイントセット
4 関連記事
StartCode ロゴ
AI時代のエンジニアを最速で育てる
法人向けIT研修で即戦力を育成しています。詳しくはお問い合わせください。
▶ 詳細はこちら
Python講座
【Udemy】Python入門講座(0からPythonの基礎を体系的に学んで、生成AIでバイブコーディング)
受講生3000人ほどの人気講座。<strong>Pythonの基礎から生成AI活用</strong>...
詳細 ▶

Footer

利用規約