Python3入門 集合

集合について

 

集合は、値(value)を抜いてキー(key)だけ残した辞書のようなものです。また、集合は同じ要素を持てないです。

辞書と同じように、要素に順序はないです。

 

学校で集合理論を教わったと思いますが、おさらいで集合というのは端的に次のような図で表すことができます。 

  
 図1:男の名前(差集合)    図2:女の名前(差集合)

     

図3:全ての名前 (和集合)   図4:女又は男の名前 (積集合)

 

集合の意味

図1:男の名前であるが、女の名前ではない
図2:女の名前であるが、男の名前ではない
図3:集合の全ての名前
図4:女の名前であり、男の名前でもある

 

集合

集合の作成

 

集合の作成には2つ方法があります。

  • set() 関数を使って集合の作成する。
  • 1個以上カンマ区切りの値を{ }で囲う。

 

 

集合に変換

 

リスト、文字列、タプル、辞書から重複する値を除けば集合に変換することができます。

 

文字列から集合

 

 

t が重複していたため取り除かれ集合に変換されました。

 

リストから集合

 

 

タプルから集合

 

 

辞書から集合

 

 

集合は辞書から値を除いてキーだけのようなものなので、辞書のキーだけが集合に変換されました。

 

値の有無を確認する。

 

in を使うと、値の有無を確認することができます。

書式

 

 

応用

 

in と 反復処理の for 構文を組みあわして使ってみます。

for 構文について

for 構文についてのリンクを貼っていますが、何も for 構文を知らない方は飛ばしても結構です。

 

 



 

集合演算

 

和集合

 

和集合とは、集合1と集合2に含まれている要素の集合。

 

| 演算子 union() 関数を使うと、和集合を求めることができます。

 

書式

 

 

差集合

 

差集合とは、集合1に含まれていて、集合2には含まれていない要素の集合

 

– 演算子difference()関数 を使うと、差集合を求めることができます。

 

書式

 

 

 

積集合

 

積集合とは、両方の集合に共通する要素の集合。

 

& 演算子intersection() 関数 を使うと、積集合を求めることができます。

 

書式

 

 

 

排他的論理和

 

排他的論理和とは、どちらか片方に含まれているが、両方には含まれていない要素の集合。

 

^ 演算子symmetric_difference() 関数を使うと、排他的論理和を求めることができる。

 

書式

 

 

if 構文へ

 

フォローする

スポンサーリンク


Python

Posted by pythonista