この記事は何?
Pythonでset演算をするには,union関数やintersection関数を用います.
最近,set演算は演算子を用いた方法もサポートされていることを知ったので(ドキュメントに書いてあるんですけどね),紹介したいと思います.
どのように書けるのか?
set演算は演算子を用いて,以下のように書けます.
>>> s1 = set([1, 2, 3]) >>> s2 = set([2, 3, 4]) >>> s1 | s2 {1, 2, 3, 4} >>> s1 & s2 {2, 3} >>> s1 - s2 {1} >>> s1 ^ s2 {1, 4} >>> s3 = set([1, 2, 3]) >>> s4 = set([1, 2]) >>> s3 > s4 True >>> s3 < s4 False
ビット演算と同じような気持ちで書けます,union関数やintersection関数を呼ぶよりもスマートな気がします.
どんな演算子がサポートされてるの?
これに関しては公式ドキュメント
http://docs.python.jp/3.5/library/stdtypes.html#set-types-set-frozenset
を参照です,たまに公式ドキュメントを読むと発見がありますね…