Python セットのサンプル

Pythonのセットのサンプルです。

確認環境
・Python 3.7.0

目次

セット

変数 = { 要素1 , 要素2 , 要素3 , ... }
  • 波括弧({ })で括って、カンマ(,)で要素を区切ります。
  • ひとつの変数に複数の値を設定できます。
  • 値の重複は不可です。代入しようとしても追加されません。
  • 順序がありません。
  • 以下はPython 3.6.4ドキュメントのセットのリンクです。
    https://docs.python.jp/3/tutorial/datastructures.html#sets

セットを作成する/値を取得する

3行目は、セットを作成しています。波かっこ({ })を使用します。
5行目は、変数の値を表示しています。{'青', '黄', '赤'}と表示されています。
7行目は、角括弧([ ])でくくったリストからset関数を用いてセットを作成しています。

# coding: utf-8

s1 = {"赤","黄","青"}

print (s1) # {'青', '黄', '赤'}

s2 = set(["紫","白","黒"])

print (s2) # {'白', '黒', '紫'}

要素を追加する (add)

5行目はaddメソッドでセットに要素を追加しています。

# coding: utf-8

s1 = {"赤","黄","青"}

s1.add('オレンジ')

print(s1) #{'青', '黄', 'オレンジ', '赤'}

要素を削除する (remove)

5行目はremoveメソッドでセットから要素を削除しています。

# coding: utf-8

s1 = {"赤","黄","青"}

s1.remove('黄')

print(s1) #{'赤', '青'}

和集合を求める (union,|演算子)

和集合とは、重複がない集合のことです。

7行目はunionメソッドで和集合を返します。 青が重複していますが青は1つのみ表示されます。
11行目のように s1|s2とすることもできます。

# coding: utf-8

s1 = {"赤","黄","青"}

s2 = {"紫","白","青"}

s3 = s1.union(s2)

print(s3) #{'黄', '赤', '紫', '青', '白'}

print(s1|s2) #{'黄', '赤', '紫', '青', '白'}

差集合を求める (difference,-演算子)

差集合とは、要素を引き算した集合のことです。

7行目はdifferenceメソッドで差集合を返します。 s1からs2に青があるので青を除いた赤と黄が表示されます。
11行目のように s1-s2とすることもできます。

# coding: utf-8

s1 = {"赤","黄","青"}

s2 = {"紫","白","青"}

s3 = s1.difference(s2)

print(s3) #{'黄', '赤'}

print(s1-s2) #{'黄', '赤'}

積集合を求める (intersection,&演算子)

積集合とは、両方のセットにある要素の集合のことです。

7行目はintersectionメソッドで共通集合(積集合)を返します。 両方に含まれる青が表示されます。
11行目のように s1&s2とすることもできます。

# coding: utf-8

s1 = {"赤","黄","青"}

s2 = {"紫","白","青"}

s3 = s1.intersection(s2)

print(s3) #{'青'}

print(s1&s2) #{'青'}

対称的差集合を求める (symmetric_difference,^演算子)

対称的差集合とは、どちらか一方のみに含まれる集合のことです。

7行目はsymmetric_differenceメソッドで対称的差集合を返します。 どちらか一方のみに含まれる紫、赤、黄、白が表示されます。
11行目のように s1^s2とすることもできます。

# coding: utf-8

s1 = {"赤","黄","青"}

s2 = {"紫","白","青"}

s3 = s1.symmetric_difference(s2)

print(s3) #{'紫', '赤', '黄', '白'}

print(s1^s2) #{'紫', '赤', '黄', '白'}

セットに特定の要素が含まれているか比較する

9行目は、赤という値が3行目のセットに含まれているかin演算子を使用して比較しています。含まれているので文字が表示されます。
12行目は、7行目のセットは、3行目のセットに含まれているか比較演算子の<=を使用して比較しています。含まれているので文字が表示されます。

# coding: utf-8

a = {"赤","黄","青"}

b = "赤"

c = {"赤","青"}

if b in a:
	print("含まれる1") #表示される

if c <= a:
	print("含まれる2") #表示される

要素の値の最大値、最小値、合計、要素の長さ (max,min,sum,len)

要素の値の最大値、最小値、合計、要素の長さを
組み込み関数で取得できます。

# coding: utf-8

a = {2,8,3}

print (max(a)) # 8 最大値

print (min(a)) # 2 最小値

print (sum(a)) # 13 合計

print (len(a)) # 3 要素の長さ

関連の記事

Python if文のサンプル
Python for文とbreakとcontinueのサンプル
Python while文とdo…while文にあたる書き方のサンプル
Python 関数のサンプル
Python リストのサンプル
Python タプルのサンプル
Python ディクショナリのサンプル



△上に戻る