setの基本
setは集合を扱うためのデータ型です。
リストのように複数の要素を保存できますが、要素が重複しないように管理されます。
順序づけはされません。
インデックスを使って、要素を取り出すことが出来ません。
和集合、差集合、積集合、対称差といった数学的な演算を使いたい場合に重宝します。
setの記法
{要素,要素,要素} 又は set()関数
空集合の場合
set()
set()関数
set関数はset(‘abc’)のように引数にiterableなデータを入れて使います。
引数がない場合は空集合になります。
演算方法
種類 | 演算子 |
和集合(OR) | | |
差集合 | – |
論理積(AND) | & |
排他的論理和(XOR) | ^ |
差集合は A – B ≠ B – Aです。以下の例を参考にしてください。
a = set('abc_ab') b = {'a','b','_','1'} _or = a | b diff1 = a - b diff2 = b - a _and = a & b xor = a ^ b print(a) print(_or) print(diff1) print(diff2) print(_and) print(xor)
【結果】
{'c', 'a', '_', 'b'} {'1', 'a', '_', 'b'} {'c', 'a', '_', '1', 'b'} {'c'} {'1'} {'a', '_', 'b'} {'c', '1'}
set内包
set型による内包表現が可能です。
以下の例はabc_abからa、又はb、又はcでない文字をsの要素にしています。
s = {x for x in 'abc_aeb' if x not in 'abc'} print(s)
【結果】
{'_', 'e'}
コメントを残す