重複のない集合set

Setは重複のない要素をもつ順序なしのコレクションオブジェクト。
リストから重複する要素を取り除いたり、積集合・和集合・差集合のような集合演算を使うために使用します。

>>> s = set([1, 2, 3])
>>> s
set([1, 2, 3])
>>> s.add(3)   #重複するので変化ない
>>> s.add(4)
>>> s
set([1, 2, 3, 4])

>>> l = ["hello", "world", "apple", "world", "python", "apple"]   #重複する要素をもつリスト
>>> l
['hello', 'world', 'apple', 'world', 'python', 'apple']
>>> list(set(l))                       #setを作成して重複を取り除いて再びリスト化する
['python', 'world', 'hello', 'apple']

集合演算

>>> s = set([1, 2, 3])
>>> s.union([3, 4, 5])  #和集合
set([1, 2, 3, 4, 5])

>>> s.difference([3, 4, 5])  #差集合
set([1, 2])

>>> s.intersection([3, 4, 5]) #積集合 (共通部分)
set([3])

>>> s.symmetric_difference([3, 4, 5])  #どちらか一方に属する要素
set([1, 2, 4, 5])

>>> s.issubset([3, 1, 2, 5])  # sが [3, 1, 2, 5]の部分集合である場合True
True
>>> s.issubset([3, 1,  5])
False

>>> s.issuperset([3, 1])    # [3, 2]がsの部分集合の場合True
True
>>> s.issuperset([3, 1, 2])
True
>>> s.issuperset([3, 1, 2, 5])
False
関連記事:

重複のない集合set」への1件のフィードバック

  1. ピンバック: 言語処理100本ノック 2015 第1章: 準備運動 No.06 | トラポン 機械学習から人工知能まで勉強してみる!

コメントを残す

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

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)