MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
Pythonの基礎 - 集合の作成と操作のソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
Pythonの基礎 - 集合の作成と操作
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == Pythonにおける集合とは、辞書の値の無いキーだけの集まりのようなものである。<br> 複数の集合に共通の要素があるのか、片方にあって片方に無いものは何かといった計算をすることができる。<br> <br><br> == 集合の宣言 == 集合は要素を波括弧<code>{}</code>で括って宣言する。<br> 集合の要素には、同じ値が複数存在せず、ただ1つだけである。したがって、複数の同じ値を集合の要素に代入しても要素は整理される。<br> <syntaxhighlight lang="python"> a = {1, 3, 5, 7, 9} b = {1, 1, 1, 3, 5, 7, 8, 5, 6, 6, 3, 3, 9, 7} print(type(a)) print(b) # 出力 <class 'set'> {1, 3, 5, 6, 7, 8, 9} </syntaxhighlight> <br> また、空集合は値を入れずに波括弧{}で括るのではなく、set関数で作成する。<br> 以下の例では、aは辞書になる。(波括弧{}で括ることは、辞書も集合も同じ)<br> <syntaxhighlight lang="python"> a = {} b = set() print(type(a)) print(type(b)) # 出力 <class 'dict'> <class 'set'> </syntaxhighlight> <br> <u>※注意点</u><br> <u>集合型オブジェクトには、要素の順番が存在しない。</u><br> <u>そのため、複数の要素が含まれている場合、どのような順序で並んでいるのかは不定である。</u><br> <u>また、集合型オブジェクトには同じ値の要素は1つか格納できないため、同じ値を持つ要素は1つにまとめられる。</u><br> <br> 以下の例では、集合の要素として、"H" "a" "p" "p" "y"という5つの文字を要素として集合を作成している。<br> <syntaxhighlight lang="python"> myset = {"H", "a", "p", "p", "y"} print(myset) # 出力 {'H', 'y', 'a', 'p'} </syntaxhighlight> <br><br> == 集合のメソッド == ==== 要素の追加 ==== 集合に要素を加えるには、<code>add</code>関数を使用する。<br> <syntaxhighlight lang="python"> x = set() x.add(10) x.add('Python') print(x) # 出力 {10, 'Python'} </syntaxhighlight> <br> ==== 要素の削除 ==== また、集合の要素を削除するには、<code>remove</code>関数を使用する。<br> 集合に指定した値が存在しない場合、<code>KeyError</code>エラーが発生する。<br> <br> 集合の要素を全て削除するには、<code>clear</code>関数を使用する。<br> <syntaxhighlight lang="python"> x = {3, 1, 5, 4, 2} x.remove(5) print(x) x.clear() print(x) # 出力 {3, 1, 4, 2} {} </syntaxhighlight> <br> <code>discard</code>関数は、引数に指定した値を持つ要素を集合から削除する。<br> <code>remove</code>関数と異なり、引数に指定した値が集合に存在しない場合でもエラーは発生しない。<br> <syntaxhighlight lang="python"> colorset = {"Red", "Green", "Blue"} colorset.discard("White") print(colorset) # 出力 {'Blue', 'Green', 'Red'} </syntaxhighlight> <br> ==== 要素の取得 ==== <code>pop</code>関数は、集合の中のいずれか1つの要素を削除して、その要素を返す。<br> ただし、どの要素を削除するかは指定することができない。<br> <syntaxhighlight lang="python"> colorset = {"Red", "Green", "Blue"} color = colorset.pop() print(color) print(colorset) color = colorset.pop() print(color) print(colorset) # 出力 Green {'Blue', 'Red'} Blue {'Red'} </syntaxhighlight> <br><br> == set関数を使用して集合に変換する == set関数を使用すれば、文字列、リスト、タプル、辞書から重複する要素を取り除いて集合を作成することができる。<br> 以下の例では、重複した要素は整理されているのが分かる。辞書においては、キーが集合に変換されている。<br> <source lang="python"> a = set('PythonPython') b = set(['Python', 'JavaScript', 'PHP', 'Python', 'JavaScript', 'Python']) c = set(('Python', 'JavaScript', 'PHP', 'C', 'JavaScript', 'Ruby', 'Swift')) d = set({'x':100, 'y':200, 'z':300}) # 出力 {'P', 'y', 't', 'h', 'o', 'n'} {'Python', 'JavaScript', 'PHP'} {'Python', 'JavaScript', 'PHP', 'C', 'Ruby', 'Swift'} {'x', 'y', 'z'} </source> <br><br> == 集合の演算 == ===== 積集合 ===== 積集合は、両方の集合に共通する要素からなる集合である。<br> アンパサンド&またはintersection関数を使用して求めることができる。<br> <source lang="python"> a = {1, 2, 3} b = {2, 3, 4} c = a & b d = a.interseciton(b) print(c) print(d) # 出力 {2, 3} {2, 3} </source> <br> ===== 和集合 ===== 和集合は、少なくともどちらかの集合に要素が含まれている集合である。<br> バーティカルバー|またはunion関数を使用して求めることができる。<br> <source lang="python"> a = {1, 2, 3} b = {2, 3, 4} c = a | b d = a.union(b) print(c) print(d) # 出力 {1, 2, 3, 4} {1, 2, 3, 4} </source> <br> ===== 差集合 ===== 差集合は、一方には含まれているがもう一方には含まれていない要素の集合である。<br> マイナス-またはdifference関数で求めることができる。<br> <source lang="python"> a = {1, 2, 3} b = {2, 3, 4} c = a - b d = a.difference(b) # 出力 {1} {1} </source> <br> ===== XOR ===== XORは、どちらか片方に含まれるが両方には含まれない要素の集合である。<br> キャレット^またはsymmetric_difference関数で求めることができる。<br> <source lang="python"> a = {1, 2, 3} b = {2, 3, 4} c = a ^ b d = a.symmetric_difference(b) print(c) print(d) # 出力 {1, 4} {1, 4} </source> <br><br> __FORCETOC__ [[カテゴリ:Python]]
Pythonの基礎 - 集合の作成と操作
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse