セットとは?
CoddyのPythonジャーニー「Logic & Flow」セクションの一部 — レッスン 29/78。
セット(集合)は、一意の要素のコレクションです。これは、セットに重複した値を含めることができないことを意味します。重複を追加しようとすると、Pythonはエラーを発生させるのではなく、自動的にそれらを削除します。セットは、項目のコレクションを保存し、各項目が一度だけ現れるようにする必要がある場合に便利です。
集合(set)を、重複のない項目のグループと考えてください。例えば、果物のバスケットがあり、各種類が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 は暗黙的に破棄されます。
チャレンジ
簡単以下のプログラムを作成してください:
- 1, 2, 3, 4, 5 という値を含む
numbersという名前のセットを作成します。 - "apple"、"banana"、"cherry" という値を含む
fruitsという名前のセットを作成します。 - 両方のセットを出力します。
テストケースが奇妙に見えるかもしれませんが、問題ありません。セットは順序が保持されないため、任意の順序で出力される可能性があることに注意してください。
チートシート
セット(集合)は、重複する値を持つことができない一意の要素のコレクションです。セットは波括弧 {} を使用して定義されます:
# 数値のセットを作成する
numbers = {1, 2, 3, 4, 5}
# 文字列のセットを作成する
fruits = {"apple", "banana", "cherry"}
# 空のセットを作成する
empty_set = set()注意:空のセットを作成するには、{}(空の辞書を作成します)ではなく set() を使用してください。セットは順序のないコレクションです。
自分で試してみよう
# TODO: セットを作成する
numbers =
fruits =
# セットを表示する - 変更しないでください
print(sorted(numbers))
print(sorted(fruits))このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。