Pythonのset型はどのような時に使うのか、という質問が受講生からよく上がるので、実際の使用例を挙げてみたいと思います。
set型は、集合というデータ型であり、以下のような特徴を持っています。

  1. 値が順不同で格納される。
  2. 重複を許可しない。

Pythonには、他にもリストやタプル、辞書といったデータ型が存在します。
それらと比べると、いまいちsetの活用法がわからない、という印象があるようです。

setの活用法の一つとして、リストやタプルから重複したデータを取り除く、というものがあります。
リストやタプルは重複を許可する型になりますが、データの都合上、重複を除きたい場合などに、一旦setに変換することで実現することができます。

l = ['a', 'b', 'c', 'b', 'e', 'f','c']
s = set(l) # setに変換して重複を除く。
sList = list(s) # setをリストに変換。
print('list:',sList)

t = ('E0001','E0002','E0003','E0004','E0002','E0001')
s2 = set(t) # setに変換して重複を除く。
sTuple = tuple(s2) # setをタプルに変換。
print('tuple:',sTuple)

実行結果は以下の通りになります。
重複が削除されているのがわかります。
※注 setは順番を保持しないため、一度setに変換してから再度リストやタプルに変換すると、元の順序とは違う順序で作成されます。

list: ['c', 'b', 'f', 'a', 'e']
tuple: ('E0004', 'E0002', 'E0003', 'E0001')

他にも集合演算を用いて、和集合(対象となる複数のsetにいずれかに含まれる要素を抽出)や、積集合(対象となる複数のsetに共通する要素を抽出)などが求められます。
これらの集合演算を使用すると、複数のsetから特定の要素を抽出することができます。

Pythonのsetは、その特徴を活かせばプログラミングをより簡潔に短いコード量で記載することができます。
是非活用してみてはいかがでしょうか。

弊社主催のPython基礎研修では、基礎文法を始め、Python未経験の方でもわかりやすいカリキュラムでPythonの基礎をマスターできます。
講座は随時開催しておりますので、ご興味のある方は是非お気軽にお問い合わせください。