【Python入門】集合を扱う。作成とsetと集合演算

Pythonの基礎
スポンサーリンク

初心者の独学でのプログラミング学習はとてもツライ…

プログラミングをマスターしたい!

今のIT業界はプログラミングエンジニアが不足していると言われています。
高収入の職業とも言われる分野もありますし、AI、機械学習、ディープラーニング、IOTといった注目される分野が目白押しです。

でも、いざ初心者がプログラミングをマスターしようとすると…

  • 本を読んだりネットの記事で自力で勉強しているけど限界を感じる
  • プログラミングスクールに定期的に通うのは面倒だ
  • 地方に住んでると家の近くにプログラミングスクールなんてない
  • どのプログラミング言語を学べばいいのか悩む
  • 実際の就職や転職にプログラミングが活かせるのか心配だ

など、プログラミングを自分で勉強しようとすると悩みが尽きません。

プログラミングに詳しい友人に教えてもらおうと思っても、そんな友人なんて滅多にいません。いたとしても細かく教えてくれるほど時間に余裕がある人はいないでしょう。

そんな独学でプログラミングをマスターするのに限界を感じてる方に、オンラインプログラミングスクールをがおすすめです。

おすすめのオンラインスクールはこちら

Pythonの集合を扱っていきましょう。

集合というと、学生時代の数学でも集合理論といったものは出てきましたよね。内容としてはまさにそれです。

形的には、辞書型の値の無いキーだけの集まりのような表現をします。

複数の集合に共通の要素があるのか、片方にあって片方に無いものは何かといった計算をすることになります。

説明よりも実際に扱ってみる方が理解しやすいでしょうから、早速やっていきましょう。

スポンサーリンク

集合の作成

集合は要素を波括弧{}で括って作ります。辞書型のキーだけのような形ですね。

具体的にこんな感じです。

対話型シェルで確認してみましょう。

type()で確認してみると「set」ということで集合であることがわかります。

集合の中に同じ値が複数あることはありません。一つだけです。ですから、いくつも同じ値を集合の中に入れても、集合は整理されます。

実際に見てみましょう。

いつくも同じ数値が入っているのがわかりますね。これを確認してみましょう。

集合では重複したデータが整理されているのがわかりますね。

空集合は値を入れずに波括弧で括るのではなく、set()で作ります。

どちらも同じ意味に見えますが、実行して確認してみましょう。

aは辞書型になっています。波括弧で括ることが辞書型も集合も同じなので、集合での空集合はset()と表現します。

スポンサーリンク

集合のメソッド

Pythonの集合に要素を加えるにはadd()使うことでできます。

空集合を作って、2つ要素を入れるコードを書いてみます。

実行してみるとこうなります。

順に要素が集合に入っているのがわかりますね。

集合の要素を削除するにはremove()を使います。要素を全て削除するにはclear()を使います。

実行するとこうなります。

remove()で指定の要素が削除され、clear()で空集合になっているのがわかります。

スポンサーリンク

set()を使って集合に変換

集合はset()を使うといろんな文字列、リスト、タプル、辞書から重複する要素を取り除いて作成することができます。

順にこういったコードがかけると思います。

Pythonシェルで実行してみましょう。

重複した要素は整理されているのがわかります。辞書型に関してはキーが集合に使われます。

スポンサーリンク

集合の演算

2つの集合を用意して、集合の演算をやってみましょう。

この二つの集合を例に操作してみましょう。

積集合

まずは積集合です。積集合は、両方の集合に共通する要素からなる集合です。&記号かintersection()を使って求めることができます。

実行するとこうなります。

共通部分が取り出されているのがわかります。

和集合

次は和集合です。和集合は、少なくともどちらかの集合に要素が含まれているものの集合です。|記号かunion()を使って求めることができます。

実行するとこうなります。

両方の集合がまとめられているのがわかります。

差集合

次は差集合です。差集合は一方には含まれているが、もう一方には含まれていない要素の集合です。-記号とdifference()で求められます。

実行するとこうなります。

aには入っているが、bには入っていない要素の集合が得られています。

排他的OR

排他的ORは、どちらか片方に含まれるが、両方には含まれない要素の集合です。^記号とsymmetric_difference()を使うことで得られます。

実行するとこうなります。

aだけに含まれる要素とbだけに含まれる要素が取り出されているのがわかります。

スポンサーリンク

まとめ

集合は重複しない要素の集まりです。Pythonでは、波括弧{}で括ることで表現します。

空集合は{}と書くと辞書型になってしまうので、set()と表現します。

set()、add()、remove()、clear()で集合の要素を操作できます。set()を使うと文字列、リスト、タプル、辞書を集合に変換すすことができます。

学生時代に学んだ集合理論を思い出すと理解しやすいでしょう。積集合、和集合、差集合、排他的ORで集合の演算ができます。

自宅学習はオンラインプログラミングスクールを活用!

自宅学習にはオンラインプログラミングスクールがおすすめ!

オンラインプログラミングスクールは独学でプログラミングを学習する時のデメリットを解消する仕組みが備わっています。

気になるところは…

学習がオンラインで完結するのはもちろんですが、独学ではできない質問サポートがあるかどうか。わからないことを現役のエンジニアが質問に答えてくれるといいですよね。

受講者個人に担当のメンターがつき、マンツーマンで学習の相談に乗ってくれることも必要で、ITエンジニアの世界についても伺えたりもすると幅が広がります。

オンライン面談だけでなく、チャット機能を使って気軽に質問を投げかけることができることも大切です。

また、オリジナルプロダクトの開発とサポートがコースの中に組み込まれていて、独学ではなかなか難しい実践的なスキルの習得にもつなげたい。

プログラミングをマスターした後の実際の仕事につながる転職サポートでがあると、ITエンジニアの世界に飛び込むのに不安が解消されます。

そんな豊富なメニューが揃っているおすすめのオンラインプログラミングスクールがこちらにあります。

おすすめのオンラインプログラミングスクールはこちら

TechAcademyはおすすめのオンラインプログラミングスクール!

オンラインのプログラミングスクールでは、テックアカデミーの充実度が目を見張ります。

オンラインで受講が完結するので、自宅学習でプログラミングをマスターしたい人にはテックアカデミーがおすすめです。

メンター制度も現役のプロが対応してくれます。大学生などが対応しているスクールに比べて本気度と専門性が違います。メンター制度の無いスクールもありますし、担当では無いメンターが対応するスクールもあったりするので、相談の質が違いますね。

チャットサポートもあるので、それが無いスクールに比べて相談の気軽さの違いがあります。

プロダクト開発のサポートで実践力が養われるだけでなく、どの講座を利用しても転職サポートが受けられるのはありがたい。

用意されているコースも、初心者向けのプログラミングコースから、Python、Java、PHP、iPhoneアプリ、AndroidといったITエンジニアのベースとなる主要な言語だけでなく、AI、データサイエンス、ブロックチェーン、webアプリケーションと行った実践的なコースまで用意しています。

他にも、webデザインやUI/UXデザイン、動画編集、webディレクションやwebマーケティングといったプログラミング以外での役立つコースまであります。

このようなたくさんの選択肢から自分にあったコースを選ぶことがでるのがテックアカデミーです。

コースの期間も短期間でマスターしたり、長期の受講でじっくり取り組むコースを選ぶこともできます。

複数講座のセットコースを利用することで大幅な割引が受けらるので、お得に受講することもできます。

無料体験もありますので、プログラミング学習でオンラインスクールを考えている人はTechAcademyをぜひ利用してみてください。

テックアカデミーの公式サイトはこちら

Pythonの基礎
スポンサーリンク
CodeGraffitiをフォローする

とにかく進め!Pythonプログラミング入門 〜 コードグラフィティ
タイトルとURLをコピーしました