はじめに
この実験では、Python で集合が空かどうかをチェックする方法を学びます。これには、空集合の概念を理解し、その空であることを判断するためのさまざまな方法を利用することが含まれます。
この実験では、set() コンストラクタを使用して空集合を作成し、その型を確認する手順を案内します。次に、len() 関数を使用して、集合に含まれる要素の数を調べることで、集合が空かどうかをチェックする方法を探ります。最後に、集合をブール値として評価して空であることをチェックする方法を学びます。
空集合について学ぶ
このステップでは、Python の空集合について学びます。空集合とは、要素を含まない集合のことです。これは集合論における基本的な概念であり、プログラミングでは、最初は空であるが後で要素を含む可能性のあるコレクションを表すためによく使用されます。
Python で空集合を作成するには、引数を指定せずに set() コンストラクタを使用することができます。空集合を作成し、その様子を確認するために出力してみましょう。
LabEx 環境で VS Code エディタを開きます。
~/projectディレクトリにempty_set.pyという名前の新しいファイルを作成します。~/project/empty_set.pyempty_set.pyファイルに以下の Python コードを追加します。## Create an empty set empty_set = set() ## Print the empty set print(empty_set) ## Check the type of the variable print(type(empty_set))このコードでは、まず
set()を使用して空集合を作成し、それを変数empty_setに代入します。次に、empty_setの値とその型をtype()関数を使用して出力します。ターミナルで以下のコマンドを使用して Python スクリプトを実行します。
python ~/project/empty_set.py以下の出力が表示されるはずです。
set() <class 'set'>出力
set()は、空集合が正常に作成されたことを示しています。<class 'set'>は、変数empty_setが実際に集合オブジェクトであることを確認しています。空集合は
Noneや空のリスト[]とは異なります。これは要素が存在しないことを表す特定の型のコレクションです。空集合を作成して使用する方法を理解することは、要素を追加する前にコレクションを初期化したり、特定の操作を実行する前に集合が空かどうかをチェックしたりするなど、さまざまなプログラミングタスクにおいて重要です。
len() を使ってチェックする
このステップでは、len() 関数を使って集合が空かどうかをチェックする方法を学びます。len() 関数は、集合内の要素の数を返します。空集合の場合、この関数は 0 を返します。これは、集合に要素が含まれているかどうかをプログラム的に判断する便利な方法です。
前のステップを踏まえて、empty_set.py ファイルを修正して len() 関数を追加しましょう。
VS Code エディタで
empty_set.pyファイルを開きます。このファイルは~/projectディレクトリにあるはずです。empty_set.pyファイルを修正して、以下の Python コードを追加します。## Create an empty set empty_set = set() ## Print the empty set print(empty_set) ## Check the type of the variable print(type(empty_set)) ## Check the length of the empty set print(len(empty_set))このコードでは、
len()関数を使ってempty_set内の要素の数を調べ、その結果を出力する行を追加しています。ターミナルで以下のコマンドを使って Python スクリプトを実行します。
python ~/project/empty_set.py以下の出力が表示されるはずです。
set() <class 'set'> 0出力の
0は、len()関数が空集合に要素がないことを正しく報告していることを確認しています。len()を使って、空でない集合のサイズもチェックできます。たとえば、集合に要素を追加すると、len()は追加された要素の数を返します。このため、len()は Python で集合を扱う際の汎用的なツールとなっています。
ブール値として評価する
このステップでは、Python で空集合がブール値としてどのように評価されるかを学びます。Python では、特定の値は「真値(truthy)」(ブールコンテキストで True と評価される)と見なされ、他の値は「偽値(falsy)」(ブールコンテキストで False と評価される)と見なされます。空集合は「偽値」と見なされます。これは、空集合を条件文(if 文など)で使用すると、False として扱われることを意味します。
この動作を実証するために、empty_set.py ファイルを修正しましょう。
VS Code エディタで
empty_set.pyファイルを開きます。このファイルは~/projectディレクトリにあるはずです。empty_set.pyファイルを修正して、以下の Python コードを追加します。## Create an empty set empty_set = set() ## Print the empty set print(empty_set) ## Check the type of the variable print(type(empty_set)) ## Check the length of the empty set print(len(empty_set)) ## Evaluate the empty set as a boolean if empty_set: print("The set is not empty") else: print("The set is empty")このコードでは、
empty_setのブール値をチェックするif文を追加しています。empty_setが「真値」(空でない)であれば、「The set is not empty」と出力されます。そうでなければ、「The set is empty」と出力されます。ターミナルで以下のコマンドを使用して Python スクリプトを実行します。
python ~/project/empty_set.py以下の出力が表示されるはずです。
set() <class 'set'> 0 The set is empty出力の「The set is empty」は、空集合がブールコンテキストで
Falseと評価されることを確認しています。この動作は、簡潔で読みやすいコードを書くのに便利です。たとえば、要素が存在することを必要とする操作を実行する前に、集合に要素があるかどうかをチェックすることができます。空集合がブール値としてどのように評価されるかを理解することは、Python で集合を扱う上で重要な側面です。
まとめ
この実験では、Python の空集合について学び、引数を指定せずに set() コンストラクタを使用して空集合を作成する方法を学びました。また、type() 関数を使用して変数が実際に集合オブジェクトであることを確認する方法も学びました。
さらに、len() 関数を使用して集合に含まれる要素の数をチェックし、集合が空かどうかを判断する方法の学習を始めました。



