【Python】 集合型

■集合型

リスト型と同様に複数のデータを一つにまとめる

・サンプルコード

# 集合型を定義
SetA = {'apple', 'banana', 'orange'}

print(SetA)

・実行結果

{'apple', 'banana', 'orange'}

■set関数を使用した集合型

set関数を使用して集合型を作成できるが、単一の文字列を格納すると、
一文字ずつバラバラに格納され、重複する文字(データ)は保持しない。
※順番も保持しないため、バラバラに格納される

set関数を使用して複数のデータを格納したい場合は、
リスト型にデータを格納した後、集合型に格納する

・サンプルコード

# set関数を使用して集合型を定義
SetB = set('apple')

print('一文字ずつ格納される')
print(SetB)


# リスト型を定義
ListA = ['apple', 'banana', 'orange']

# リスト型を集合型に格納
SetC = set(ListA)

print('データごとに格納される')
print(SetC)

# データの追加
SetC.update(['grape'])

print(SetC)

・実行結果

一文字ずつ格納される
{'a', 'e', 'l', 'p'}
 
データごとに格納される
{'orange', 'apple', 'banana'}
 
{'orange', 'apple', 'banana', 'grape'}

■集合型の使用例1(重複削除)

リスト型に重複したデータがある場合は集合型に格納し削除させることができる

・サンプルコード

# 集合型の使用例1(重複削除)
ListB = ['apple', 'banana', 'grape', 'orange', 'banana']

SetD = set(ListB)

print(SetD)

・実行結果

{'orange', 'apple', 'banana', 'grape'}

■集合型の使用例2(複数データの精査)

複数の集合型に対して、差分および共通部を出力することができる

・サンプルコード

# 集合型の使用例2(複数データの精査)
SetE = {'apple', 'banana'}
SetF = {'banana', 'orange'}

# データの差分を出力
print('差分:' + str(SetE - SetF))

# 共通データの出力
print('共通部:' + str(SetE & SetF))

・実行結果

差分:{'apple'}
共通部:{'banana'}

コメント