はてな
Pythonで扱う集合とは何でしょうか?
もっと詳しく
集合とは、値の重複を許さないデータ型で、setクラスのインスタンスです。
集合を使ってみよう
集合を作成する
集合を作成するには、以下のようにします。
集合名 = {値1, 値2, ...}
実行例
>>> animal = {"dog", "cat", "mouse"}
集合の値を参照する
集合の値を参照するには、以下のようにします。
集合名
実行例
>>> animal
{'dog', 'mouse', 'cat'}
なお、集合に同じ値を設定しても、同じ値はひとつにまとめられます。
実行例
>>> animal = {"dog", "cat", "mouse", "dog"}
>>> animal
{'dog', 'mouse', 'cat'}
集合の要素数を取得する
集合にいくつ値があるかを取得するには、len()関数を使います。
len(集合名)
実行例
>>> len(animal)
3
集合に値を追加する
集合に値を追加するには、setクラスのadd()メソッドを使います。
集合名.add(値)
実行例
>>> animal.add("bird")
>>> animal
{'dog', 'mouse', 'cat', 'bird'}
集合の値を削除する
集合の値を削除するには、setクラスのclear()メソッド、remove()メソッドを使います。
clear()メソッドは、リスト内の全ての値を削除します。
remove()メソッドは、リスト内の値を指定して削除します。
空の集合は、set()と表示されます。
集合名.clear()
集合名.remove(値)
実行例
>>> animal
{'dog', 'mouse', 'cat', 'bird'}
>>> animal.remove("mouse")
>>> animal
{'dog', 'cat', 'bird'}
>>> animal.clear()
>>> animal
set()
集合で演算を行う
集合は、以下のような演算ができます。
集合1 | 集合2 | 集合1と集合2を合わせた値の集合を返す |
集合1 & 集合2 | 集合1と集合2に共通する値の集合を返す |
集合1 - 集合2 | 集合1に含まれ、かつ集合2に含まれない値の集合を返す |
集合1 ^ 集合2 | 集合1と集合2のどちらか一方だけに含まれる値の集合を返す |
実行例
>>> animal1 = {"dog", "cat", "mouse", "bird"}
>>> animal2 = {"lion", "tiger", "jagger", "bird"}
>>> animal1 | animal2
{'dog', 'bird', 'cat', 'tiger', 'mouse', 'lion', 'jagger'}
>>> animal1 & animal2
{'bird'}
>>> animal1 - animal2
{'dog', 'mouse', 'cat'}
>>> animal1 ^ animal2
{'dog', 'cat', 'tiger', 'mouse', 'lion', 'jagger'}