あくまで備忘録なんで雑に記録します
① {セット}のメリットは、重複のない集合
空の波括弧{}は辞書型dictと見なされる!
S = {}
S.add(1) #エラー
S = {0}
S.add(1)#{0, 1}
A = [1, 1, 2, 3, 3, 4, 4, 4]
A = set(A)
A = list(A)
print(A)#[1, 2, 3, 4]
②追加と削除
add():要素を追加
discard():要素を削除 存在しない値で非エラー
remove():要素を削除 存在しない値でエラー
pop():ランダム要素を削除し、その値を返す
S = {1, 2, 3}
S.add(4)#{1, 2, 3, 4}
S.discard(1)#{2, 3, 4}
#S.remove(1)#エラー
A = S.pop()#2
print(S)#{3, 4}
③和・積・差・XOR
和:【|】
積:【-】
差:【&】
XOR(排他的論理和):【^】
a = {1, 2, 3}
b = {2, 3, 4}
print(a|b)#{1, 2, 3, 4}
print(a&b)#{2, 3}
print(a-b)#{1}
print(b-a)#{4}
print(a^b)#{1, 4}
④集合の包含とか判定
完全一致:【==】
完全不一致:【isdisjoint】
部分集合:【>=】
a = {0, 1}
b = {1, 2}
c = {2, 3}
#一致?
print(a==b)#False
#互いに素?
print(a.isdisjoint(b))#False
print(a.isdisjoint(c))#True
#含む?
print(a>=b)#False
b.remove(2)
print(a>=b)#True
コメント