用語の整理
-
リスト (list)
- 記号:
[] - ミュータブル(mutable):変更できる
- 要素の追加 (
append)、変更、削除 (remove,del) が可能。
- 記号:
-
タプル (tuple)
- 記号:
() - イミュータブル(immutable):変更できない
- 要素の追加・削除はできない。
- 記号:
-
辞書 (dict)
- 記号:
{キー: 値} - ミュータブル(mutable):値を変更できる
- キーは重複できない(後から同じキーを入れると上書きされる)。
- 記号:
-
集合 (set)
- 記号:
{値, 値, ...}またはset() -
ミュータブル(mutable):要素の追加 (
add)・削除 (remove) が可能 - 同じ値は自動的に重複除去される(つまり、同じ値を2回入れても1つだけ残る)
- 記号:
確認用の例
# リスト(重複OK)
my_list = [1, 1, 2]
print(my_list) # [1, 1, 2] ← 重複がそのまま残る
# 集合(重複NG)
my_set = {1, 1, 2}
print(my_set) # {1, 2} ← 重複が自動的に消える
# 集合に要素を追加・削除
my_set.add(3)
print(my_set) # {1, 2, 3}
my_set.remove(2)
print(my_set) # {1, 3}
まとめ
- mutable(ミュータブル):変更可能なオブジェクト(list, dict, set)
- immutable(イミュータブル):変更不可能なオブジェクト(tuple, str, int など)
- 集合(set)は重複を許さない
例題として次のように整理すると覚えやすいです:
data = {1, 2, 2, 3}
print(data) # {1, 2, 3} ← 自動で重複削除
こういう性質があるので、集合は「重複を取り除きたいとき」に便利です。