Python Set型(集合)の使い方

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'}
スポンサーリンク
スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です