2.1 集合とその特性
集合とはプログラミングにおける特別なコレクション型で、ユニークな要素を保存するのに役立つんだ。簡単に言うと、すでにあるアイテムを再度入れようとすると、無視されるバスケットみたいなもん。
集合の主な特徴
ユニークさ:
集合内の各要素はユニークで、既存の要素を追加すると追加されないよ。
無秩序:
リストと違って、集合内の要素には順序がないんだ。つまり
インデックスで要素にアクセスすることはできない
ってことね。
可変性:
集合は変更可能で、要素の追加や削除ができるけど、集合の要素自体は不変(例えば、数字、文字列、タプル)でなきゃいけない。
2.2 Pythonでの集合の作成
ここではPythonでの集合の作成方法を全部見ていこう。これで、作業する際の方法はバッチリだね。
波括弧の使用
集合を作成する最も一般的な方法は波括弧 {} を使うこと。タプルやリストと同じように、括弧内に要素をリストアップするよ:
fruit_set = {"apple", "banana", "cherry"}
print(fruit_set) # 出力: {"banana", "cherry", "apple"}
要素はいろいろな型を持てるけど、各要素はユニークでなくちゃね。
fruit_set = {"apple", 1, 3.25}
print(fruit_set) # 出力: {1, "apple", 3.25}
set()
関数の使用
set()
関数では、リスト、文字列、タプルなどの別の反復可能なオブジェクトから集合を作成できるんだ。
リストから
list_to_set = set([1, 2, 3, 4, 4, 5])
print(list_to_set) # 出力: {1, 2, 3, 4, 5}
文字列から
string_to_set = set("hello")
print(string_to_set) # 出力: {"h", "e", "l", "o"}
タプルから
tuple_to_set = set((1, 2, 3, 4, 5))
print(tuple_to_set) # 出力: {1, 2, 3, 4, 5}
別の集合から
別の集合から集合を作ることもできるよ。これはコピーを作るのに便利だね。
original_set = {"apple", "banana", "cherry"}
new_set = set(original_set)
print(new_set) # 出力: {"banana", "cherry", "apple"}
空の集合
空の集合を作るにはset()
関数を使うよ。注意したいのは、波括弧{}
を使うと空の辞書(dictionary)
ができちゃうってこと。
empty_set = set()
print(empty_set) # 出力: set()
2.3 メソッド一覧
Pythonの集合には、データのコレクションを効果的に管理するためのメソッドがいくつかあるよ。ここにset
クラスの人気メソッドをいくつか挙げるね:
メソッド | 説明 |
---|---|
add() |
集合に要素を追加する |
remove() |
集合から要素を削除するが、要素がないとエラーを発生させる |
discard() |
集合から要素を削除するが、要素がなくてもエラーは発生しない |
pop() |
ランダムな要素を削除して返すが、集合が空だとエラーを発生させる |
clear() |
集合からすべての要素を削除する |
union() |
集合の和を返す |
intersection() |
集合の交わりを返す |
difference() |
集合の差を返す |
symmetric_difference() |
集合の対称差を返す |
update() |
他の集合または反復可能なオブジェクトから現在の集合に要素を追加する |
以下では、これらのメソッドの動作の違いや詳細を解説していくよ。それとちょっとだけ追加の情報もね。
GO TO FULL VERSION