【毎日Python】Pythonで重複しない要素の集まり(集合)を作成する方法|set

【毎日Python】Pythonで重複しない要素の集まり(集合)を作成する方法|set

Pythonで集合を作成する方法です。
使用するのは、Pythonの組み込み関数のset関数です。
集合とは、各要素がそれぞれ一意のもので、かつ順不同であることが特徴のデータ型です。

まず、リストから集合を作成してみましょう。
引数にリストを指定して実行します。
リストから集合を作成することができました。

l = [50, 20, 30, 20, 10, 40, 50, 30]
set(l)

実行結果:

{10, 20, 30, 40, 50}

これらのリストで重複していた要素は、一意のものとなりました。
また、各要素の順番がリストと異なっていることが確認できます。

次に、文字列で試してみましょう。
引数に文字列を指定して実行します。
文字列から集合を作成することができました。

set('apple-peach')

実行結果:

{'-', 'a', 'c', 'e', 'h', 'l', 'p'}

次に、辞書で試してみましょう。
辞書から集合を作成することができました。
このように、辞書を指定した場合、キーのみで集合が作成されます。

d = {'apple': 180, 'banana': 250, 'peach': 210, 'apple': 250}
set(d)

実行結果:

{'apple', 'banana', 'peach'}

先ほどと同様に、重複する要素は一意のものとなり、各要素の順番は文字列と異なっています。

なお、集合を作成する方法として、中括弧で要素を囲む方法もあります。

{'apple', 'banana', 'peach', 'apple'}

実行結果:

{'apple', 'banana', 'peach'}

ただし、要素が空の集合を作成する場合には、set関数を使用しましょう。
これは、中括弧で要素を空にして実行すると、集合ではなく辞書が作成されてしまうためです。

▼ set関数を使用した場合

s = set()
type(s)

実行結果:

set

▼ 中括弧を使用した場合