Python セットの操作

Python では、セットは順序付けられていない一意の項目のコレクションです。セットは、複数の値を格納する必要があるが、それらの値の順序を気にせず、重複する要素がないことを確認したい場合に便利です。

セットの作成

セットを作成するには、中括弧 {} または set() 関数を使用します。次に例を示します。

# Using curly braces
my_set = {1, 2, 3, 4, 5}

# Using the set() function
another_set = set([1, 2, 3, 4, 5])

要素の追加と削除

セットに要素を追加するには、add() メソッドを使用します。要素を削除するには、remove() または discard() を使用します。これらの違いは、要素が存在しない場合に remove() は KeyError を発生させますが、discard() は発生させないという点です。

# Adding elements
my_set.add(6)

# Removing elements
my_set.remove(5)  # Will raise KeyError if 5 is not in the set
my_set.discard(10)  # Will not raise an error

集合演算

Python セットは、和集合、積集合、差集合、対称差集合などのさまざまな演算をサポートしています。これらの使用方法は次のとおりです。

# Union
set1 = {1, 2, 3}
set2 = {3, 4, 5}
union_set = set1.union(set2)  # or set1 | set2

# Intersection
intersection_set = set1.intersection(set2)  # or set1 & set2

# Difference
difference_set = set1.difference(set2)  # or set1 - set2

# Symmetric Difference
symmetric_difference_set = set1.symmetric_difference(set2)  # or set1 ^ set2

セットの理解

リストの内包表記と同様に、Python はセットの内包表記もサポートしています。これにより、既存の反復可能オブジェクトに基づいてセットを作成できます。次に例を示します。

# Creating a set of squares
squares = {x ** 2 for x in range(10)}

結論

セットは、Python で一意の要素のコレクションを処理するための強力で柔軟な方法です。セットを効果的に使用する方法を理解すると、データを管理し、効率的かつ簡単に操作を実行できるようになります。