集合について
集合(set)は重複する要素をもたない、順序づけられていない要素の集まりです。
集合は値のない辞書のようなものです。キーだけが存在しています。
そのため、集合は辞書のように順序はありません。 従って、インデックスで呼び出せません。
Set オブジェクトは、和集合、積集合、差集合、排他的論理和(XOR)といった数学的な演算もサポートしています。
集合型は重複要素を持たない性質から、リスト型の要素から重複を取り去りたい場合に集合型にキャストすることで簡単に実現できます。
集合の作り方
set()で作成するか、{}の中にカンマ区切りで値を入れます。
number1 = {1, 2, 3, 4} print(type(number1)) # number1[0] # setのままでは呼び出せないのでlistに型変換 number1 = list(number1) print(type(number1)) number1[0]
結果
class ‘set’
class ‘list’
1
積集合と和集合と差集合と排他的論理和
集合の要素を組み合わせて数学的な演算を行えます。
a の集合が、{1, 2}で、b の集合が{2, 3}のとき、上のようなベン図で表すことができます。
積集合は「&」を使って表して、aとbの共通する要素が該当します。(黄色の背景部分)
和集合は「|」を使って表して、aとbどちらかに所属する要素は該当します。
差集合は「-」を使って表して、aの中からbを取り去って得られる要素が該当します。
排他的論理和は「^」を使って表して、aとbどちらかにだけ属している要素が該当します。
ニューラルネットワークの基本で出てきますが、パーセプトロンはXOR問題を解決できません。
そんな中から生まれたのがニューラルネットワークの考え方です。
a = {1, 2} b = {2, 3} # 積集合 a & b # 結果 {2} # 和集合 a | b # 結果 {1, 2, 3} # 差集合 a - b # 結果 {1} # 排他的論理和 a ^ b # 結果 {1, 3}
参考になった書籍
プログラミングを少しでも経験がありPython の文法を学習する場合は、「入門 Python 3」が良いと思います。長く使えます。
「退屈なことはPython にやらせよう」はオブジェクト指向の解説がないです。代わりにPythonを使った便利な実例が初心者には嬉しい内容です。正規表現から、簡単なスクレイピング 、画像操作などあります。ただし、中級者以上には少し物足りないかもしれません。
サンプルのダウンロード
ここでダウンロードする「set.ipynb」ファイルは、この動画で使用したものです。
Python入門一覧
- Python入門 クラスの継承とオーバーライド(動画あり)
- Python入門 オブジェクト指向について、クラスの作り方(動画あり)
- Python入門 lambda関数の使い方、map関数の使い方(動画あり)
- Python入門 位置引数、キーワード引数、デフォルト引数、便利な引数の使い方(動画あり)
- Python入門 グローバル変数とローカル変数(動画あり)
- Python入門 モジュールのインポートとrandomモジュール(動画あり)
- Python入門 関数の定義方法(動画あり)
- Python入門 内包表記(動画あり)
- Python入門 zip関数(動画あり)
- Python入門 for in文の活用(動画あり)
- Python入門 for in文の基本(動画あり)
- Python入門 三項演算子(動画あり)
- Python入門 if文の使い方2 while文の使い方(動画あり)
- Python入門 if文の使い方(動画あり)
- Python入門 浅いコピーと深いコピー(動画あり)
- Python入門 参照渡し(動画あり)
- Python入門 集合(動画あり)
- Python 入門 辞書(動画あり)
- Python 入門 タプルについて(動画あり)
- Python入門 リストのメソッド(動画あり)
- Python入門 リストのスライス(動画あり)
- Python入門 リスト
- Python入門 BMI課題 (動画あり)
- Python入門 文字列の連結とフォーマット1(動画あり)
- Python入門 文字列のフォーマット2(動画あり)
- Python入門 エスケープと型変換とinput()の使い方(動画あり)
- Python入門 pep8(動画あり)
- Python入門 変数の練習(動画あり)
- Python入門 変数(動画あり)
- Python入門 文字列(動画あり)
- Python入門 演算子(動画あり)
- Python入門 Python をはじめよう! (動画あり)
コメントを投稿するにはログインしてください。