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'}
コメントを残す