セットの基本(重複なしの集合)
セット(set) は {} で作る、重複のない集合です。同じ値を2回追加しても1つしか保持されません。
1. セットの作成と特徴
votes = {"田中", "鈴木", "田中", "佐藤", "鈴木", "田中"}
print(votes) # 重複が自動で除去される
print(len(votes))
▶ 出力結果
{'田中', '佐藤', '鈴木'}
3
※セットは順序が保証されないため、出力の順番が変わることがあります。
2. リストの重複除去にセットを活用
access_log = ["A", "B", "A", "C", "B", "A", "D"]
unique_users = list(set(access_log))
print(f"ユニークユーザー数:{len(unique_users)}")
print(unique_users)
▶ 出力結果
ユニークユーザー数:4 ['A', 'C', 'B', 'D']
3. 集合演算
python_users = {"田中", "鈴木", "佐藤"}
java_users = {"鈴木", "高橋", "佐藤"}
# 積集合:両方使っている人
print(python_users & java_users)
# 和集合:どちらかを使っている人
print(python_users | java_users)
# 差集合:Pythonだけ使っている人
print(python_users - java_users)
▶ 出力結果
{'鈴木', '佐藤'}
{'田中', '高橋', '鈴木', '佐藤'}
{'田中'}
