Chapter 8

セット

集合について中学か高校で習ったことの復習です。

  和集合 論理和 a OR b   a または b        a.union(b) a | b

        

 

  論理積 積集合 a AND b a かつ b a.intersection(b) a & b

 

差集合   a セットから b セットの要素を取り除く           a - b a.differrence(b)

 

  対称差集合  排他的論理和   EXOR          入力値が同じなら出力値 0 偽          入力値が異なれば出力値 1 真

         a ^ b a.symmetric_difference(b)        

 

P195

●色のセットを2つ作る

P196

●セットの要素の個数

●range()を使ってセットを作る

P197

●空集合(空のセット)を作る

●リストからセットを作る(重複した要素が取り除かれる)

●セットをリストに変換する

●文字列からセットを作る(重複した文字が取り除かれる)

P198

●空のセットに要素を追加していく

●既存の要素を追加しても無視される

●fruitsセットから"banana"を削除する

P199

●discard()でセットの要素を削除する discard()でも指定した要素を削除できます。remove()とは違いdiscard() は削除しようとした要素がセットに含まれていない場合でもエラーに   ならず操作が無視されます。

●既存のセットを空にする

●セットから要素を1個ずつ取り除く

 

P200

セットにはfrozenset()で作るセットもあります。frozenset()で作るセットも set()と同じように作ります。 {} または set() で作ったセットはset型、frozenset()で作ったセットは frozenset型です。

●frozenset()のセットを作る

●frozenset型のセットにadd()で要素を追加するとエラーになる

●frozenset型のセットの値は削除できない

P201

●リストの要素を2倍にしてセットを作る

●リストの正の要素だけでセットを作る

============================================================

セットの集合演算

P203

●和集合:すべてのセットの要素を合わせたセットを作る

●セットa、b、cの和集合を求める

●union()を使って和集合を求める

P204

●積集合:a、bセットの共通した要素のセットcを作る

P205 ●セットa、b、cの積集合を&演算子を使って求める

●セットa、b、cの積集合をintersection()を使って求める

●差集合:aからbに含まれている要素を取り除いたセットを作る

●difference()を使って差集合を求める

P206

●対称差:a、bセットの片方だけに含まれている要素のセットを作る

●symmetric_difference()を使って対称差集合を求める

P207

集合演算結果でセットの内容を更新する

●セットの値を和集合で更新する

●|= 演算子を使って和集合の代入を書いた場合

●セットの値を積集合で置き換える

P208

●&= 演算子を使って積集合の代入を書いた場合

●セットの値を差集合で置き換える

●-= 演算子を使って差集合の代入を書いた場合

●セットの値を対称差集合(排他的論理和)で置き換える

P209

●^= 演算子を使って対称差集合の代入を書いた場合

2つのセットの要素が一致するするかどうか

●2つのセットの要素が一致するするかどうかは、== 演算子で比較する   ことができます。要素が一致すればTrue,一つでも異なっていれば   Falseが返されます。セットには要素の順はないので要素の並びは   関係ありません。

P210

●2つのセットの要素が一致しないときTrue

●共通している要素があるかないかを確かめる

p211

セットの包含関係

●aセットがbセットのサブセットかどうかを判定する

     aセットがbセットのサブセットかどうかはa.issubset(b)か      a < b および a < =b の演算子で判定できます。

 P212

●aセットがbセットのスーパーセットかどうかを判定する。     aセットがbセットのスーパーセットかどうかはa.issuperset(b)か     a >= b 演算子で判定できます