• 集合(set)

    集合について見ていきましょう。

    集合とは、順番に並んでいないデータの集まりのことを言います。

    順番に並べられているデータとしては、リストやタプルがあります。これらは、インデックスを使うことによってデータを取り出すことができました。

    しかし、集合はインデックスを使ってデータを取り出すことはできません。

    ここから、具体的な例とともに集合についてみていきましょう。

    集合の作り方

    集合は、中かっこ(英語ではcurly bracesと言います)でデータを囲むことで作ることができます。

    {}の中に入れるデータは、整数、浮動小数点リスト、タプル、辞書などです。

    実際に集合を作ってみましょう。

    コード
    

    set1 = {1, 2, 3}

    set2 = {1, 'a', ('bb', )}

    print(set1)

    print(set2)

    {1, 2, 3}

    アウトプット
    

    {}

    {1, 'a', ('bb', )}

    出力結果が{}で囲まれており、集合を作ることができました。

    集合にミュータブルなデータを入れることはできない

    ただし、集合にミュータブルなデータを入れることはできません。

    実際に入れるとどうなるでしょうか。

    コード
    

    set = {1, 'a', ['bb']}

    print(set)

    TypeError: unhashable type: 'list'

    リスト方はハッシュ化できません。というエラーが出てしまいました。

    ハッシュ化については、ミュータブルとイミュータブルという記事で詳しく解説していますので、ハッシュ化について理解したい方はぜひ記事を読んでみて下さい。

    集合には同じデータを入れることはできない

    また、集合には同じデータを入れることができません。

    同じデータを入れたとしても、Pythonがコードを実行する時に重複するデータは消されてしまいます。

    具体例で見ていきましょう。

    コード
    

    set = {1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3}

    print(set)

    アウトプット
    

    {1, 2, 3}

    重複しているデータが消されていることが分かります。

    なぜ重複しているデータが消されてしまうのかというと、集合ではデータをハッシュとして管理するからです。

    そして、同じハッシュを集合の中で複数持つことはできませんので、結果として同じデータは消えてしまうのです。

    なぜ集合を使うのか

    実は、集合だけを使う場面はあまり多くありません。

    集合はユニークなハッシュの集まりですが、これは次に学ぶ辞書というデータで使われます。

    具体的には、集合をkeyと呼び、それとvalueというデータを組み合わせることによって集合を作ることができます。

    ですので、集合は辞書とセットで学ぶと良いでしょう。

    集合のまとめ

    (1) 一つの集合の中で同じデータを入れることはできない

    (2) 集合は辞書とセットで学ぶと良い

    集合を学んだ後は

    集合を学んだ後は、集合と対の関係にある辞書について学びましょう。