Pythonのセットのサンプルです。
| 確認環境 ・Python 3.7.0 |
目次
- セット
- セットを作成する
- 値を追加する(add)
- 値を削除する(remove)
- 和集合を求める (union,|演算子)
- 差集合を求める (difference,-演算子)
- 積集合を求める (intersection,&演算子)
- 対称的差集合を求める (symmetric_difference,^演算子)
- セットに特定の要素が含まれているか比較する
- 要素の値の最大値、最小値、合計、要素の長さ (max,min,sum,len)
セット
| 変数 = { 値1 , 値2 , 値3 , ... } |
- ひとつの変数に複数の値を設定できます。
- 値の重複は不可です。代入しようとしても追加されません。
- 順序がありません。
- 以下はPython 3.6.4ドキュメントのセットのリンクです。
https://docs.python.jp/3/tutorial/datastructures.html#sets
セットを作成する
セットを作成するサンプルです。
# coding: utf-8
s1 = {"赤","黄","青"}
print (s1) # {'青', '黄', '赤'}
s2 = set(["紫","白","黒"])
print (s2) # {'白', '黒', '紫'}
3行目は、セットを作成しています。波かっこ({ })を使用します。
5行目は、変数の値を表示しています。{'青', '黄', '赤'}と表示されています。
7行目は、角括弧([ ])でくくったリストからset関数を用いてセットを作成しています。
値を追加する(add)
値を追加するサンプルです。
# coding: utf-8
s1 = {"赤","黄","青"}
s1.add('オレンジ')
print(s1) #{'青', '黄', 'オレンジ', '赤'}
5行目はaddメソッドでセットに要素を追加しています。
値を削除する(remove)
値を削除するサンプルです。
# coding: utf-8
s1 = {"赤","黄","青"}
s1.remove('黄')
print(s1) #{'赤', '青'}
5行目はremoveメソッドでセットから要素を削除しています。
和集合を求める (union,|演算子)
和集合を求めるサンプルです。
和集合とは、重複がない集合のことです。
# coding: utf-8
s1 = {"赤","黄","青"}
s2 = {"紫","白","青"}
s3 = s1.union(s2)
print(s3) #{'黄', '赤', '紫', '青', '白'}
print(s1|s2) #{'黄', '赤', '紫', '青', '白'}
6行目はunionメソッドで和集合を返します。 青が重複していますが青は1つのみ表示されます。
10行目のように s1|s2とすることもできます。
差集合を求める (difference,-演算子)
差集合を求めるサンプルです。
差集合とは、要素を引き算した集合のことです。
# coding: utf-8
s1 = {"赤","黄","青"}
s2 = {"紫","白","青"}
s3 = s1.difference(s2)
print(s3) #{'黄', '赤'}
print(s1-s2) #{'黄', '赤'}
6時間行目はdifferenceメソッドで差集合を返します。 s1からs2に青があるので青を除いた赤と黄が表示されます。
10行目のように s1-s2とすることもできます。
積集合を求める (intersection,&演算子)
積集合を求めるサンプルです。
積集合とは、両方のセットにある要素の集合のことです。
# coding: utf-8
s1 = {"赤","黄","青"}
s2 = {"紫","白","青"}
s3 = s1.intersection(s2)
print(s3) #{'青'}
print(s1&s2) #{'青'}
6行目はintersectionメソッドで共通集合(積集合)を返します。 両方に含まれる青が表示されます。
10行目のように s1&s2とすることもできます。
対称的差集合を求める (symmetric_difference,^演算子)
対称的差集合を求めるサンプルです。
対称的差集合とは、どちらか一方のみに含まれる集合のことです。
# coding: utf-8
s1 = {"赤","黄","青"}
s2 = {"紫","白","青"}
s3 = s1.symmetric_difference(s2)
print(s3) #{'紫', '赤', '黄', '白'}
print(s1^s2) #{'紫', '赤', '黄', '白'}
6行目はsymmetric_differenceメソッドで対称的差集合を返します。 どちらか一方のみに含まれる紫、赤、黄、白が表示されます。
10行目のように s1^s2とすることもできます。
セットに特定の要素が含まれているか比較する
セットに特定の要素が含まれているか比較するサンプルです。
# coding: utf-8
a = {"赤","黄","青"}
b = "赤"
c = {"赤","青"}
if b in a:
print("含まれる1") #表示される
if c <= a:
print("含まれる2") #表示される
9行目は、赤という値が3行目のセットに含まれているかin演算子を使用して比較しています。含まれているので文字が表示されます。
12行目は、7行目のセットは、3行目のセットに含まれているか比較演算子の<=を使用して比較しています。含まれているので文字が表示されます。
要素の値の最大値、最小値、合計、要素の長さ (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 ディクショナリのサンプル