set() 変換を使ったチェック
このステップでは、リストを集合に変換して長さを比較することで、リストが一意の要素のみを含むかどうかをチェックする方法を学びます。これは、リスト内に重複要素があるかどうかを判断する簡潔で効率的な方法です。
核心的な考え方は、リストに重複要素が含まれている場合、それを集合に変換すると要素の数が減少するということです。なぜなら、集合は一意の値のみを格納するからです。元のリストの長さとそれから作成された集合の長さが同じであれば、そのリストは一意の要素のみを含んでいます。
前のステップで作成した Python スクリプトを変更して、集合変換を使ってリストが一意の要素のみを含むかどうかをチェックしましょう。
-
前のステップで作成した unique_elements.py
ファイルを WebIDE で開きます。このファイルは /home/labex/project
にあるはずです。
-
unique_elements.py
ファイルを変更して、以下のコードを追加します。
## Create a list with or without duplicate elements
my_list = [1, 2, 3, 4, 5] ## Example with unique elements
## my_list = [1, 2, 2, 3, 4, 5] ## Example with duplicate elements
## Convert the list to a set
my_set = set(my_list)
## Check if the list contains only unique elements
if len(my_list) == len(my_set):
print("The list contains only unique elements.")
else:
print("The list contains duplicate elements.")
このスクリプトでは、まず my_list
というリストを定義します。対応する行をコメントアウトまたはコメント解除することで、一意の要素を持つ例または重複要素を持つ例を使うことができます。次に、リストを集合に変換し、リストと集合の長さを比較します。長さが等しい場合、リストが一意の要素のみを含んでいることを示すメッセージを出力します。そうでない場合、リストに重複要素が含まれていることを示すメッセージを出力します。
-
unique_elements.py
ファイルを保存します。
-
ターミナルで以下のコマンドを使用してスクリプトを実行します。
python unique_elements.py
一意の要素を持つ例 (my_list = [1, 2, 3, 4, 5]
) を使用した場合、以下の出力が表示されるはずです。
The list contains only unique elements.
重複要素を持つ例 (my_list = [1, 2, 2, 3, 4, 5]
) を使用した場合、以下の出力が表示されるはずです。
The list contains duplicate elements.
この例は、集合変換を使ってリストが一意の要素のみを含むかどうかを効率的にチェックする方法を示しています。この手法は、データ処理や検証タスクでよく使われます。