【Python】第1章第9回:集合(set)の基本操作
Pythonの集合(set
)は、重複を許さないデータ型です。本記事では、集合の基本操作から応用的な使い方までを解説します。
0. 記事の概要
この記事を読むメリット
- 集合の基本操作を理解:重複を取り除いたデータ管理方法を学べます。
- 応用的な操作を習得:和集合や差集合などの集合演算を理解できます。
- 実用的なスキルを取得:集合を活用したデータ処理が可能になります。
この記事で学べること
- 集合の基本操作(作成、追加、削除、確認)
- 集合の応用例(和集合、積集合、差集合)
- 集合を使った実用的なプログラムの作成
1. 集合の基本操作
1.1 集合の作成
集合は、波括弧({}
)を使用して作成します。
# 集合の作成
fruits = {"apple", "banana", "cherry"}
print(fruits) # 出力: {'apple', 'banana', 'cherry'}
動作解説
- 集合内の要素は重複しません。
- 順序は保証されないため、出力順は一定ではありません。
1.2 要素の追加と削除
集合に要素を追加するにはadd()
、削除するにはremove()
やdiscard()
を使用します。
# 要素の追加と削除
fruits.add("orange")
print(fruits) # 出力: {'apple', 'banana', 'cherry', 'orange'}
fruits.remove("banana")
print(fruits) # 出力: {'apple', 'cherry', 'orange'}
動作解説
add()
: 新しい要素を追加します。remove()
: 指定した要素を削除します。存在しない要素を削除しようとするとエラーが発生します。
2. 集合の応用
2.1 集合演算
集合では、以下のような演算が可能です。
- 和集合:
|
またはunion()
- 積集合:
&
またはintersection()
- 差集合:
-
またはdifference()
# 集合演算
set1 = {1, 2, 3}
set2 = {3, 4, 5}
union = set1 | set2 # 和集合
print(union) # 出力: {1, 2, 3, 4, 5}
intersection = set1 & set2 # 積集合
print(intersection) # 出力: {3}
difference = set1 - set2 # 差集合
print(difference) # 出力: {1, 2}
動作解説
|
: 和集合を取得します。&
: 積集合を取得します。-
: 差集合を取得します。
3. 実践例:集合を活用したプログラム
リスト内の重複を取り除き、ユニークな要素を表示するプログラムを作成します。
# リスト内の重複を削除
items = ["apple", "banana", "apple", "cherry", "banana"]
unique_items = set(items)
print(unique_items) # 出力: {'apple', 'banana', 'cherry'}
動作解説
- リストを集合に変換することで重複を自動的に排除します。
- 結果は集合として表示されますが、リストに戻すことも可能です。
4. 練習問題
以下の課題に挑戦してみましょう。
- 2つの集合の和集合、積集合、差集合をそれぞれ求めるプログラムを作成してください。
- リストを集合に変換し、重複を取り除いた後、再度リストに変換して出力してください。
5. 練習問題の解答と解説
問1の解答例
# 2つの集合の演算
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1 | set2) # 和集合
print(set1 & set2) # 積集合
print(set1 - set2) # 差集合
問2の解答例
# 重複を取り除いたリスト
items = ["apple", "banana", "apple", "cherry", "banana"]
unique_list = list(set(items))
print(unique_list) # 出力: ['apple', 'banana', 'cherry']
6. まとめ
Pythonの集合(set)の基本操作と応用を学びました。集合の特性を活かすことで、データの重複を排除し、効率的なデータ操作が可能になります。これを基に、さらに実践的なプログラムに挑戦してください。