icon
icon

Pythonのset型オブジェクトの初期化方法を現役エンジニアが解説【初心者向け】

初心者向けにPythonのset型オブジェクトの初期化方法について現役エンジニアが解説しています。Pythonのset型とは集合を扱う為の型です。リスト型や辞書型のように複数の値を持つことが出来ます。set型やリスト型、辞書型との違いも解説します。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

Pythonのset型オブジェクトの初期化方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Python講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonのset型オブジェクトの初期化方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

set型とは

Pythonのset型とは集合を扱う為の型です。リストや辞書のように複数の値を持つことができます。set型はリストや辞書に対して重複した値をもたない、要素に順番がないという特徴があります。

ここでリスト型を棚、set型(集合型)を袋に例えてデータ”A”,”B”,”C”の保持について説明します。

リスト型

リスト型に[“A”,”B”,”C”]と複数のデータを設定した場合、棚の一番上の段”index[0]”から順番にデータが格納されます。

Pythonのリスト型のイメージ図。棚があって0から順番にデータを格納できる。

 

set型

set型に{“A”,”B”,”C”}と複数のデータを設定した場合、ひとつの袋の中に”A”,”B”,”C”のデータがまとめて格納されます。

また、set型には重複した値をもたない仕様となっているので、仮に{“A”,”B”,”C”,”C”}というようにデータを設定した場合でもset型へ格納されるデータは下記図のようになります。

Pythonのset型のイメージ図。袋があって中に値やデータを格納できる。

set型オブジェクトの初期化方法

ここではset型オブジェクトの初期化方法については紹介します。set型オブジェクトは下記文法で初期化ができます。

s = {"要素1","要素2"...}

要素は任意の値を設定できます。

[PR] Pythonで挫折しない学習方法を動画で公開中

実際に書いてみよう

ここではPythonのset型オブジェクトの初期化方法についてサンプルコードを例に実際に書いてみましょう。

サンプルコード

# 変数sに"A","B","C"をset型で初期化して出力する
s = {"A","B","C"}
print(s)
# 変数sに"A","B","C","C"をset型で初期化して出力する
s = {"A","B","C","C"}
print(s)

 

実行結果

{'B', 'C', 'A'}
{'B', 'C', 'A'}

 

解説

コード2行目からコード3行目では、 変数sに”A”,”B”,”C”をset型で初期化したものを出力しています。

コード6行目からコード7行目では、 変数sに”A”,”B”,”C”,”C”をset型で初期化したものを出力しています。

実行結果では、重複が取り除かれる事でどちらも同じ内容の集合型のデータが出力されていることが確認できます。

まとめ

今回は、 Pythonのset型オブジェクトの初期化方法について紹介しました。

複数のデータを持つ型は主にリスト型、辞書型、set型があり、それぞれに特徴をもっているのでしっかりと学習し、プログラム時に最適な型を使えるようにしましょう。

監修してくれたメンター

菅繕久(すがよしひこ)

現在はフリーランスのエンジニアをしていてプログラミング歴は8年目になります。

普段は Python、FileMaker等を使って様々な業務で活用できるIoTプロダクトRPAツールを作成しています。

開発実績としては、業務自動化ツール(在庫管理・発注・ファイル操作 etc)、電子カルテシステム、ロボット用プログラムなどがあります。
TechAcademyではPythonコースを担当しております。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。