セットとは?
CoddyのPythonジャーニー「ロジックとフロー」セクションの一部。レッスン 29/78。
セットは、一意な要素の集合です。つまり、セットには重複した値を含めることができません。重複した値を追加しようとしても、Pythonはエラーを発生させず、自動的に重複を取り除きます。セットは、項目の集まりを保存し、それぞれの項目が一度だけ現れるようにしたい場合に便利です。
セットは、重複しない項目の集まりだと考えてください。たとえば、果物の入ったかごがあり、それぞれの種類を1つずつだけにしたい場合は、セットを使います。Pythonでは、辞書と同様に波括弧 {} を使ってセットを定義しますが、キーと値のペアはありません。
セットの作成方法の例を次に示します。
# 数値の集合を作成する
numbers = {1, 2, 3, 4, 5}
# 文字列の集合を作成する
fruits = {"apple", "banana", "cherry"}
# 空の集合を作成する
empty_set = set()最初の例では、numbersは1から5までの数値を含む集合です。2つ目の例では、fruitsは文字列「apple」、「banana」、「cherry」を含む集合です。3つ目の例は、set()コンストラクターを使って空の集合を作成する方法を示しています。空の中かっこ{}を使って空の集合を作成することはできません。代わりに空の辞書が作成されるためです。
前述のとおり、Pythonは重複を自動的に処理します。たとえば、{1, 2, 2, 3}は単に{1, 2, 3}になります。重複している2は何も通知されずに破棄されます。
チャレンジ
簡単次のプログラムを書きましょう。
numbersという名前の集合を作成し、値1, 2, 3, 4, 5を含めます。fruitsという名前の集合を作成し、値"apple"、"banana"、"cherry"を含めます。
コードの下の行で、両方の集合を出力します。
テストケースが奇妙に思えるかもしれませんが、問題ありません。集合には順序がないため、どのような順序でも出力できます。
自分で試してみよう
# TODO: 集合を作成する
numbers =
fruits =
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ロジックとフローのすべてのレッスン
自分で練習してみよう: Pythonオンラインコンパイラ