「集合って何?」「集合の使い方を教えてほしい!」という疑問や悩みを持っていませんか?
そんな悩みや疑問を解消できるように、この記事ではPythonの集合について解説しています。
この講座は、これからPythonを学ぼうとする初心者の方がPythonの基本を学ぶための講座です。
Pythonの代表的な構文の使い方を具体的なコードを例にして解説しています。
この記事は、以下のような方におすすめ!
Pythonの集合の操作について知りたい方
Pythonの基本を学びたい方
集合はPythonの基本的なデータ構造の一つで、複数の値をまとめて扱うことができます。
リストやタプルと似てるけど、いくつかの違いがあるよ。
この記事を読めば、Pythonの集合について知り、プログラミングで扱えるようになります!
Pythonの基本をマスターして、Pythonプログラマーとしての一歩を踏み出しましょう!
前回の振り返り
前回の記事では、Pythonのタプルについて解説しました。
Pythonのタプルについて確認できていない方は、
こちらの記事もチェックするとより理解が深まりますよ!
今回のゴール
では、改めて今回のゴールを確認しましょう。
今回のゴールは、Pythonで集合とその操作を学び、実際に動作を確認することです。
今回も提示している例だけでなく、ご自身でもいろいろなコードを実行して、動作を確認してみて!
Pythonの集合とは
集合はデータ構造の一つで、セットと呼ばれることもあります。
集合はリストとは違い、順序を持たず、重複のない値の集まりです。
もしかしたらこれだけでピンッとくる方もいるかも。
重複した値を持たないという特徴は使い勝手が良さそうだと思いませんか?
それは一緒に集合の動作についてみていくとわかりますよ。
集合の定義
集合の定義するには、要素を{
、}
で挟んで定義します。
わざと同じ値のを含めて集合を定義してみました。
同じ値で定義した場合に、重複が解消されていることを確認してください。
colors = {'blue', 'red', 'yellow', 'green', 'red', 'yellow'}
colors
{'red', 'yellow', 'green', 'blue'}
空の集合を定義する
空の集合を定義する際に、= {}
とはできません。
これは、次の記事で説明する辞書型の空定義になります。
空の集合を定義する際はset()
を使用します。
colors = set()
set()
集合の操作
次に、集合の操作について確認していきましょう!
要素に値が含まれているかを確認する
集合の要素に特定の値が存在しているかどうかを確認するためには、in
やnot in
を利用します。
colors = {'red', 'yellow', 'green', 'blue'}
'red' in colors
'red' not in colors
True
False
和をとる
集合和を計算する場合、演算子|
を使用する方法と、メソッドunion
を使用する場合の2パターンがあります。
どちらを使用しても大差はありません。
演算子を使えばすっきり記述できますが、可読性が落ちます。
メソッドを利用した場合は、コードが長くなる反面、可読性があがりますよね。
set1 = {1, 2, 3}
set2 = {3, 4, 5}
# 演算子
result = set1 | set2
print(result)
# メソッド
result = set1.union(set2)
print(result)
{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5}
差をとる
集合差を計算する場合は、演算子-
を使用する方法と、メソッドdifference
を使用する場合の2パターンがあります。
set1 = {1, 2, 3}
set2 = {3, 4, 5}
# 演算子
result = set1 - set2
print(result)
# メソッド
result = set1.difference(set2)
print(result)
{1, 2}
{1, 2}
積をとる
集合積を計算する場合は、演算子&
を使用する方法と、メソッドintersection
を使用する場合の2パターンがあります。
set1 = {1, 2, 3}
set2 = {3, 4, 5}
# 演算子
result = set1 & set2
print(result)
# メソッド
result = set1.intersection(set2)
print(result)
{3}
{3}
対称差をとる
集合積を計算する場合は、演算子^
を使用する方法と、メソッドsymmetric_difference
を使用する場合の2パターンがあります。
set1 = {1, 2, 3}
set2 = {3, 4, 5}
# 演算子
result = set1 ^ set2
print(result)
# メソッド
result = set1.symmetric_difference(set2)
print(result)
{1, 2, 4, 5}
{1, 2, 4, 5}
内包表記
リストと同様に集合でも内包表記を使うことができます。
word = {w for w in 'aiueokakikukekosasisuseso' if w not in 'aiueo'}
{'k', 's'}
まとめ
今回の記事では、Pythonの集合ついて解説しました。
今回のポイントをまとめると、次のとおりです。
- 集合はPythonのデータ構造の一つ
- 集合の値はユニークで要素の並び順に関係がない
Pythonの集合を知り、同じデータ構造のタプルやリストとの違いを感じていただけたのではないでしょうか。
Pythonの集合も基本的なデータ構造です。
ぜひこの記事を参考にして、Pythonの集合をマスターしてください!
以上、最後までお読みいただきありがとうございました。
未経験からのITエンジニア転職に挑戦したい方へ
転職も含めて真剣にプログラミングスキルを手に入れたいとお考えの方に、おすすめの方法をご紹介します。
結論から言うと、それは転職活動とスキル学習を同時に進める方法です!
同時に進める理由は、転職成功までの時間を短縮するためなんですが、
でも昼間は学校や本業もあるのに、転職活動と学習を同時にって無理!
って思いますよね?
そんな忙しい方には、スキル学習と転職サポートが一体となているウズカレIT
しかも、学習サポートも転職サポートも無料で利用できます!
ウズカレITはITスクールのウズウズカレッジ
体系的かつ総合的に学習サポートを受けることができます。
ITエンジニアはまだまだ売り手市場で、未経験可の求人もたくさんあります。
一度、ウズカレITの無料相談で不安に思ってることなどを相談してみるのがオススメです。