はじめに
この実験では、Python でリスト内に特定の数値や任意のアイテムが存在するかどうかを確認する方法を学びます。これは、リストの操作や要素の存在に基づく判断を行うための基本的な操作です。
この実験では、in 演算子を使用してリストの要素であるかどうかをテストする方法を案内し、その大文字小文字を区別する性質を示します。果物のリストを作成し、in 演算子を使用して特定の果物の存在を確認します。存在する果物、存在しない果物、大文字小文字のみが異なる果物を含みます。また、index() メソッドを使用してリスト内の要素の位置を特定する方法も学びます。
リスト所属の理解
このステップでは、Python でリスト内に特定のアイテムが存在するかどうかを確認する方法を学びます。これは、リストを扱う際の基本的な操作であり、特定の要素の存在や不在に基づいて判断を行う際によく使用されます。
Python では、要素判定を行うための便利な演算子 in が用意されています。in 演算子は、アイテムがリスト内に見つかった場合に True を返し、そうでない場合は False を返します。
まずは、果物のリストを作成してみましょう。
fruits = ["apple", "banana", "orange", "grape"]
次に、in 演算子を使って、fruits リストに "apple" が含まれているかどうかを確認します。VS Code エディタを使って、~/project ディレクトリに membership.py という名前のファイルを作成します。
## ~/project/membership.py
fruits = ["apple", "banana", "orange", "grape"]
print("apple" in fruits)
ファイルを保存し、ターミナルで以下のコマンドを実行して実行します。
python ~/project/membership.py
以下の出力が表示されるはずです。
True
これは、fruits リストに "apple" が含まれていることを示しています。
次に、リストに含まれていないアイテム、例えば "kiwi" を確認してみましょう。
membership.py ファイルを修正して、"kiwi" を確認するようにします。
## ~/project/membership.py
fruits = ["apple", "banana", "orange", "grape"]
print("kiwi" in fruits)
ファイルを保存し、再度実行します。
python ~/project/membership.py
以下の出力が表示されるはずです。
False
これは、fruits リストに "kiwi" が含まれていないことを確認しています。
in 演算子は大文字小文字を区別します。つまり、"Apple" は "apple" とは異なります。これを実証してみましょう。
membership.py ファイルを修正します。
## ~/project/membership.py
fruits = ["apple", "banana", "orange", "grape"]
print("Apple" in fruits)
ファイルを保存して実行します。
python ~/project/membership.py
以下の出力が表示されます。
False
"apple" はリストに含まれていますが、大文字の "A" を持つ "Apple" は含まれていません。
また、not in 演算子を使って、アイテムがリストに含まれて いない ことを確認することもできます。例えば:
membership.py ファイルを修正します。
## ~/project/membership.py
fruits = ["apple", "banana", "orange", "grape"]
print("kiwi" not in fruits)
ファイルを保存して実行します。
python ~/project/membership.py
出力は以下のようになります。
True
これは、fruits リストに "kiwi" が含まれていないためです。
リストの要素判定を理解することは、条件文を書いたり、Python プログラムの流れを制御したりするために重要です。
in 演算子の使用
前のステップでは、リストの要素判定の基本と、in 演算子を使ってリスト内に特定のアイテムが存在するかどうかを確認する方法を学びました。このステップでは、in 演算子のより実用的なアプリケーションを探ります。具体的には、条件文の中で使用してプログラムの流れを制御する方法を学びます。
in 演算子は、if 文の中で特に便利です。特定のアイテムがリストに存在する(または存在しない)場合にのみ、特定のコードブロックを実行するために使用できます。
fruits リストの例を続けましょう。"banana" がリストに含まれている場合にのみメッセージを表示したいとします。~/project ディレクトリに in_operator.py という名前のファイルを作成します。
## ~/project/in_operator.py
fruits = ["apple", "banana", "orange", "grape"]
if "banana" in fruits:
print("Yes, banana is in the list")
ファイルを保存して実行します。
python ~/project/in_operator.py
以下の出力が表示されるはずです。
Yes, banana is in the list
if 文は、"banana" が fruits リストに含まれているかどうかを確認します。含まれている場合、if ブロック内のコード(print 文)が実行されます。
次に、アイテムがリストに含まれていない場合を処理するために、else ブロックを追加しましょう。
in_operator.py ファイルを修正します。
## ~/project/in_operator.py
fruits = ["apple", "banana", "orange", "grape"]
if "kiwi" in fruits:
print("Yes, kiwi is in the list")
else:
print("No, kiwi is not in the list")
ファイルを保存して実行します。
python ~/project/in_operator.py
以下の出力が表示されるはずです。
No, kiwi is not in the list
"kiwi" は fruits リストに含まれていないため、else ブロック内のコードが実行されます。
また、if 文の中で not in 演算子を使用することもできます。例えば:
in_operator.py ファイルを修正します。
## ~/project/in_operator.py
fruits = ["apple", "banana", "orange", "grape"]
if "kiwi" not in fruits:
print("kiwi is not in the list")
ファイルを保存して実行します。
python ~/project/in_operator.py
出力は以下のようになります。
kiwi is not in the list
これは、in 演算子と not in 演算子を使って、Python プログラムでより複雑なロジックを作成できることを示しています。これらの演算子は、リストを扱い、その内容に基づいて判断を行うための重要なツールです。
index() で位置を特定する
前のステップでは、in 演算子を使ってリスト内に特定のアイテムが存在するかどうかを確認する方法を学びました。今回は、index() メソッドを使ってリスト内のアイテムの位置(インデックス)を見つける方法を学びます。
index() メソッドは、リスト内で指定された値が最初に出現するインデックスを返します。ただし、アイテムがリスト内に見つからない場合、index() メソッドは ValueError 例外を発生させることに注意してください。
fruits リストの例を続けましょう。リスト内の "banana" のインデックスを見つけたいとします。~/project ディレクトリに index_method.py という名前のファイルを作成します。
## ~/project/index_method.py
fruits = ["apple", "banana", "orange", "grape"]
index = fruits.index("banana")
print(index)
ファイルを保存して実行します。
python ~/project/index_method.py
以下の出力が表示されるはずです。
1
これは、fruits リスト内で "banana" がインデックス 1 に位置していることを示しています。Python のリストは 0 からインデックスが始まることを覚えておいてください。つまり、最初の要素はインデックス 0、2 番目の要素はインデックス 1 というようになります。
次に、リスト内に存在しないアイテム、例えば "kiwi" のインデックスを見つけようとしてみましょう。
index_method.py ファイルを修正します。
## ~/project/index_method.py
fruits = ["apple", "banana", "orange", "grape"]
index = fruits.index("kiwi")
print(index)
ファイルを保存して実行します。
python ~/project/index_method.py
以下のようなエラーメッセージが表示されるはずです。
Traceback (most recent call last):
File "/home/labex/project/index_method.py", line 3, in <module>
index = fruits.index("kiwi")
ValueError: 'kiwi' is not in list
この ValueError は、リスト内に "kiwi" が見つからないことを示しています。
このエラーを避けるために、index() メソッドを使用する前に、in 演算子を使ってアイテムがリスト内に存在するかどうかを最初に確認するのが良い習慣です。
以下はその方法です。
index_method.py ファイルを修正します。
## ~/project/index_method.py
fruits = ["apple", "banana", "orange", "grape"]
if "kiwi" in fruits:
index = fruits.index("kiwi")
print(index)
else:
print("kiwi is not in the list")
ファイルを保存して実行します。
python ~/project/index_method.py
以下の出力が表示されるはずです。
kiwi is not in the list
このコードは、まず "kiwi" が fruits リスト内に存在するかどうかを確認します。存在する場合、インデックスを見つけて表示します。そうでない場合、"kiwi" がリスト内に存在しないことを示すメッセージを表示し、ValueError を防ぎます。
index() メソッドは、リスト内のアイテムの位置を見つけるための便利なツールですが、エラーを避けるために、アイテムが存在しない場合を適切に処理することが重要です。
まとめ
この実験では、Python で in 演算子を使ってリスト内に特定のアイテムが存在するかどうかを確認する方法を学びました。in 演算子は、アイテムがリスト内に見つかった場合に True を返し、そうでない場合は False を返します。
また、in 演算子は大文字と小文字を区別することも学びました。つまり、"Apple" と "apple" は異なるものとして扱われます。この実験では、果物のリストを使って特定のアイテムの存在を確認する例を用いて、これらの概念を実証しました。



