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

set
こつこつPython

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

▼ 中括弧を使用した場合

未経験からはじめるPython学習「キノクエスト」 キノクエスト
  • スキルアップしたいけど何からはじめればよいかわからない…
  • プログラミングスクールに入りたいけど料金が高い…
  • プログラミングを学んでも業務やキャリアに活かせるか不安…

キノクエストは、このような悩みを持つ方にぴったりのプログラミング学習サービスです。
国内最大級のプログラミング学習系YouTubeチャンネル「キノコード」が提供しているから、未経験者にもわかりやすく質の高い学習体験を実感していただけます。

キノクエスト