Menu
CoddyTech

セットとは?

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は何も通知されずに破棄されます。

challenge icon

チャレンジ

簡単

次のプログラムを書きましょう。

  1. numbersという名前の集合を作成し、値1, 2, 3, 4, 5を含めます。
  2. fruitsという名前の集合を作成し、値"apple"、"banana"、"cherry"を含めます。

コードの下の行で、両方の集合を出力します。

テストケースが奇妙に思えるかもしれませんが、問題ありません。集合には順序がないため、どのような順序でも出力できます。

自分で試してみよう

# TODO: 集合を作成する
numbers = 
fruits = 
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ロジックとフローのすべてのレッスン

自分で練習してみよう: Pythonオンラインコンパイラ