・macOS Big Sur
・Python3.8
集合(set)
「集合」はリストに似て複数の要素を持ちますが、重複しないように管理されます。波括弧({}:Curly Bracket)で囲み、データ(要素)をカンマ(,)で区切って定義します。
ミュータブルなリストや辞書、集合は要素として格納できません。変更により重複した要素ができてしまうことを防ぐためです。同様に、イミュータブルなタプルであってもミュータブルな要素が含まれている場合は使用できません。
空の集合は「set()関数」で定義できます(波角弧だけの場合は、空の辞書と判断されるため、関数を用いる必要があります。)。
集合名 = {値1, 値2, 値3, ...}
集合名 = set() ※空の集合
>>> a = {1, 2, 3, 4}
要素の呼び出し
インデックスによる管理ではないため、要素の呼び出しはできません。なお、要素には順番もありません。
集合演算子
「集合演算子」を使って新しい集合を作成することができます。
集合演算子 | 説明 |
| | 和集合:A | B A,B2つの集合の重複しない全ての要素を含んだ集合を取得できる。 |
- | 差集合:A - B Aの要素のうち、Bに含まれる要素を取り除いた集合を取得できる。 |
& | 交わり:A & B A,B2つの集合に共通している要素のみの集合を取得できる。 |
^ | 対称差:A ^ B A,B2つの集合に共通している要素以外の集合を取得できる。 |
>>> a = {1, 3, 5, 7, 9}
>>> b = {2, 3, 5, 7}
>>> a | b
{1, 2, 3, 5, 7, 9}
>>> a - b
{1, 9}
>>> a & b
{3, 5, 7}
>>> a ^ b
{1, 2, 9}
辞書(ディクショナリ)
「辞書」はリストのようなインデックスではなく、値(バリュー)にキーをつけて管理します(「キーバリューペア」といいます。また、値にキーを関連づけることを「マッピング」といいます。)。キーと値をコロン(:)で区切ったものを1つの要素とし、要素をカンマ(,)で区切って全体を波括弧({})で囲んで定義します。
波括弧だけの場合は、データの無い空の辞書を定義したことになります。空の辞書は「dict()関数」でも定義できます。
キーには数値や文字列、タプルといったイミュータブルが使用できますが、リスト、辞書、集合といったミュータブルは使用できません。変更により同一のキーができてしまうことを防ぐためです。同様に、イミュータブルなタプルであってもミュータブルな要素が含まれている場合は使用できません。
値には数値や文字列、リスト、辞書、集合、タプルいずれも使用できます。
辞書名 = {キー1: 値1, キー2: 値2, キー3: 値3, ...}
辞書名 = {} ※空の辞書
辞書名 = dict() ※空の辞書
>>> a = {1: 'Ⅰ', 2: 'Ⅱ', 3: 'Ⅲ', 4: 'Ⅳ'}
要素の呼び出し
キーを指定することで、値を呼び出すことができます。辞書名に角括弧をつけ、その括弧内にキーを指定します。
辞書名[キー]
>>> a = {1: 'Ⅰ', 2: 'Ⅱ', 3: 'Ⅲ', 4: 'Ⅳ'}
>>> a[1]
'Ⅰ'
要素の変更、追加
既存のキーを指定し、異なる値を代入することで、値を変更することができます。また、新しいキーを指定し値を代入すると、要素を追加することができます。
>>> a = {1: 'Ⅰ', 2: 'Ⅱ', 3: 'Ⅳ'}
>>> a[3] = 'Ⅲ'
>>> a
{1: 'Ⅰ', 2: 'Ⅱ', 3: 'Ⅲ'}
>>> a[4] = 'Ⅳ'
>>> a
{1: 'Ⅰ', 2: 'Ⅱ', 3: 'Ⅲ', 4: 'Ⅳ'}
要素の削除
「del文」で要素を削除することができます。
del 辞書名[キー]
>>> a = {1: 'Ⅰ', 2: 'Ⅱ', 3: 'Ⅲ', 4: 'Ⅳ'}
>>> del a[4]
>>> a
{1: 'Ⅰ', 2: 'Ⅱ', 3: 'Ⅲ'}
>>> del a # 変数全体を削除することもできます。