Python set型の比較と集合演算

目次



比較

#coding: utf-8

set1 = set([1, 2, 4])

set2 = set([3, 5])

set3 = set([2, 3, 5])

#共通の要素を持たないか
print set1.isdisjoint(set2) #=> True

print set1.isdisjoint(set3) #=> False

#すべての要素がset3に含まれているか
print set2 <= set3 #=> True

print set2.issubset(set3) #=> True

#set2が真部分集合かどうか
print set2 < set3 #=> True

#すべての要素がset2に含まれているか
print set3 >= set2 #=> True

print set3.issuperset(set2) #=> True


和集合

両方に存在する要素のsetを返します。

set1 = set([1, 2, 4])

set2 = set([3, 5])

print set1 | set2 #=> set([1, 2, 3, 4, 5])

print set1.union(set2) #=> set([1, 2, 3, 4, 5])

set1 |= set2

print set1 #=> set([1, 2, 3, 4, 5])


積集合

共通の要素のみのsetを返します。

set1 = set([1, 2, 4])

set2 = set([2, 3, 5])

print set1 & set2 #=> set([2])

print set1.intersection(set2) #=> set([2])

set1 &= set2

print set1 #=> set([2])


差集合

set1 - set2でset1からset2の要素を取り除いたsetを返します。

set1 = set([1, 2, 4])

set2 = set([2, 3, 5])

print set1 - set2 #=> set([1, 4])

print set1.difference(set2) #=> set([1, 4])

set1 -= set2

print set1 #=> set([1, 4])


排他的論理和集合

共通の要素を取り除いて合わせたsetを返します。

set1 = set([1, 2, 4])

set2 = set([2, 3, 5])

print set1 ^ set2 #=> set([1, 3, 4, 5])

print set1.symmetric_difference(set2) #=> set([1, 3, 4, 5])

set1 ^= set2

print set1 #=> set([1, 3, 4, 5])


要素を追加

set1 = set([1, 2, 3])

set1.add(4)

print set1 #=> set([1, 2, 3, 4])


要素を削除

remove()は要素が見つからなかった場合、KeyErrorを返しますが、discard()はエラーを返しません。

set1 = set([1, 2, 3])

set1.remove(2)

print set1 #=> set([1, 3])

set1.discard(1)

print set1 #=> set([3])

elem = set1.pop()

print elem #=> 3

print set1 #=> set([])


要素をすべて削除

set1 = set([1, 2, 3])

set1.clear()

print set1 #=> set([])

経験を活かして好きな仕事で収入UP!

「実務経験も積んだし、もっと待遇の良い会社に転職したい!」

「自分の強みを活かせる会社で働きたい!」

そう考えたことはありませんか?

自分の経験を活かせ収入も増やせる会社を探すなら、こちらのサイトがおすすめです。

詳しくはこちらをクリック