PYTHON MEBY

Pythonでセットを作成(set, セット内包表記)

この記事では、Pythonでセットを作成する方法について説明します。set()コンストラクタとセット内包表記を使用して、様々な方法でセットを作成する方法を学びます。

目次

set()コンストラクタによるセットの作成

最も基本的な方法は、set()コンストラクタを使用することです。イテラブルオブジェクト(リスト、タプルなど)を渡してセットを作成します。

numbers = [1, 2, 2, 3, 4, 4, 5]
my_set = set(numbers)
print(my_set)  # 出力: {1, 2, 3, 4, 5}

set()コンストラクタは、渡されたイテラブルオブジェクトの重複要素を自動的に削除し、一意な要素のみを含むセットを作成します。

セット内包表記によるセットの作成

セット内包表記を使うと、より簡潔にセットを作成できます。リスト内包表記とよく似ていますが、中括弧{}を使用します。

numbers = [1, 2, 3, 4, 5]
squared_set = {number**2 for number in numbers}
print(squared_set)  # 出力: {1, 4, 9, 16, 25}

上の例では、numbersリストの各要素を2乗した値からなるセットを作成しています。

空のセットの作成

空のセットを作成するには、空の中括弧{}ではなく、set()コンストラクタを使用する必要があります。

empty_set = set()
print(empty_set)  # 出力: set()
# 空の中括弧{}は辞書型を生成します
not_empty_set = {}
print(not_empty_set) # 出力: {}

空の中括弧{}で作成されたものは辞書型となり、空のセットとは異なるデータ型となります。

例:重複要素の削除

リストから重複要素を削除して一意な要素のみを取り出すのに、set()が非常に便利です。

my_list = [1, 2, 2, 3, 4, 4, 5]
unique_elements = set(my_list)
print(unique_elements) # 出力: {1, 2, 3, 4, 5}

set()を使用することで簡単に重複要素を削除できます。

例:リストからのセット作成

リストからセットを作成する例です。

my_list = ['apple', 'banana', 'apple', 'orange']
my_set = set(my_list)
print(my_set)  # 出力: {'apple', 'banana', 'orange'}

文字列のリストからも、重複を削除したセットを作成できます。

例:条件付きセット作成

セット内包表記では、条件付きで要素を選択することもできます。

numbers = [1, 2, 3, 4, 5, 6]
even_numbers = {number for number in numbers if number % 2 == 0}
print(even_numbers)  # 出力: {2, 4, 6}

この例では、numbersリストから偶数のみを含むセットを作成しています。

関連記事