はじめに
この実験では、Python の辞書 (dictionary) に特定の値が含まれているかどうかを確認する方法を学びます。実験ではまず、辞書の値について説明し、キーや .values() メソッドを使用してそれらにアクセスする方法を示します。~/project ディレクトリに dictionary_example.py ファイルを作成し、Python コードを実行して、辞書の値を個別に、またはコレクションとして出力します。
次に、values() ビューオブジェクトに in 演算子を使用して、辞書内に特定の値が存在するかどうかを効率的に判断する方法を説明します。最後に、反復処理を使用して一致する値を見つける別のアプローチを探り、Python の辞書で値を確認するさまざまな方法を包括的に理解することができます。
辞書の値を理解する
このステップでは、Python の辞書 (dictionary) の値について学びます。辞書は、データをキーと値のペアで格納する基本的なデータ構造です。これらの値にアクセスし、操作する方法を理解することは、辞書を効果的に扱うために重要です。
まず、簡単な辞書を作成してみましょう。
## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}
## Print the dictionary
print(my_dict)
VS Code エディタを使用して、~/project ディレクトリに dictionary_example.py という名前のファイルを作成します。上記のコードをファイルにコピーして貼り付けます。
次に、ターミナルで以下のコマンドを使用してスクリプトを実行します。
python dictionary_example.py
以下の出力が表示されるはずです。
{'name': 'Alice', 'age': 30, 'city': 'New York'}
辞書内の値にアクセスするには、キーを使用します。たとえば、キー "name" に関連付けられた値にアクセスするには、my_dict["name"] を使用します。
dictionary_example.py ファイルを変更して、値にアクセスして出力しましょう。
## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}
## Access and print the values
print(my_dict["name"])
print(my_dict["age"])
print(my_dict["city"])
dictionary_example.py に変更を保存し、再度実行します。
python dictionary_example.py
今度は以下の出力が表示されるはずです。
Alice
30
New York
また、.values() メソッドを使用して、辞書内のすべての値のコレクションを取得することもできます。このメソッドは、辞書内のすべての値のリストを表示するビューオブジェクトを返します。
dictionary_example.py ファイルを変更して、.values() メソッドを使用しましょう。
## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}
## Get the values
values = my_dict.values()
## Print the values
print(values)
dictionary_example.py に変更を保存し、再度実行します。
python dictionary_example.py
今度は以下の出力が表示されるはずです。
dict_values(['Alice', 30, 'New York'])
ご覧のとおり、.values() メソッドは辞書内のすべての値を含むビューオブジェクトを返します。このビューオブジェクトを反復処理することで、各値に個別にアクセスすることができます。これについては次のステップで学びます。
values() で in 演算子を使用する
このステップでは、in 演算子を使用して、辞書 (dictionary) の値の中に特定の値が存在するかどうかを確認する方法を学びます。in 演算子は、Python でデータを検索し検証するための強力なツールです。
前のステップから続けて、同じ辞書 my_dict を使用しましょう。辞書の値の中に "Alice" という値が存在するかどうかを確認します。
~/project ディレクトリ内の dictionary_example.py ファイルを変更して、以下のコードを追加します。
## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}
## Check if "Alice" is in the values
if "Alice" in my_dict.values():
print("Alice is in the dictionary values")
else:
print("Alice is not in the dictionary values")
dictionary_example.py に変更を保存し、再度実行します。
python dictionary_example.py
出力は以下のようになるはずです。
Alice is in the dictionary values
次に、辞書に存在しない値、たとえば "Bob" を確認してみましょう。
dictionary_example.py ファイルを変更して、"Alice" の代わりに "Bob" を確認するようにします。
## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}
## Check if "Bob" is in the values
if "Bob" in my_dict.values():
print("Bob is in the dictionary values")
else:
print("Bob is not in the dictionary values")
dictionary_example.py に変更を保存し、再度実行します。
python dictionary_example.py
今度は以下の出力が表示されるはずです。
Bob is not in the dictionary values
in 演算子は大文字と小文字を区別します。辞書の値の中に "alice"(小文字)が存在するかどうかを確認してみましょう。
dictionary_example.py ファイルを変更して、"alice" を確認するようにします。
## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}
## Check if "alice" is in the values
if "alice" in my_dict.values():
print("alice is in the dictionary values")
else:
print("alice is not in the dictionary values")
dictionary_example.py に変更を保存し、再度実行します。
python dictionary_example.py
今度は以下の出力が表示されるはずです。
alice is not in the dictionary values
これは、in 演算子が大文字と小文字を区別し、正確な値が見つかった場合にのみ True を返すことを示しています。
反復処理で一致するものを見つける
このステップでは、辞書 (dictionary) の値を反復処理し、特定の条件に基づいて一致する要素を見つける方法を学びます。これは、辞書に格納されたデータを処理またはフィルタリングする必要がある場合の一般的なタスクです。
前のステップから続けて、同じ辞書 my_dict を使用しましょう。値を反復処理し、文字列である値のみを出力します。
~/project ディレクトリ内の dictionary_example.py ファイルを変更して、以下のコードを追加します。
## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}
## Iterate through the values
for value in my_dict.values():
## Check if the value is a string
if isinstance(value, str):
print(value)
dictionary_example.py に変更を保存し、再度実行します。
python dictionary_example.py
出力は以下のようになるはずです。
Alice
New York
この例では、for ループを使用して辞書の値を 1 つずつ反復処理しました。ループの中で、isinstance() 関数を使用して値が文字列であるかどうかを確認しました。文字列である場合、その値を出力しました。
次に、25 より大きい値を見つけるようにコードを変更しましょう。年齢は整数であるため、25 より大きいかどうかを確認することができます。
dictionary_example.py ファイルを変更して、以下のコードを追加します。
## Create a dictionary
my_dict = {"name": "Alice", "age": 30, "city": "New York"}
## Iterate through the values
for value in my_dict.values():
## Check if the value is an integer and greater than 25
if isinstance(value, int) and value > 25:
print(value)
dictionary_example.py に変更を保存し、再度実行します。
python dictionary_example.py
今度は以下の出力が表示されるはずです。
30
これは、反復処理と条件文を組み合わせて、辞書の値の中から特定の一致する要素を見つける方法を示しています。このアプローチを異なるデータ型や条件に合わせて調整することで、あなたのニーズに合わせることができます。
まとめ
この実験では、Python の辞書 (dictionary) の値について学びました。辞書は、データをキーと値のペアで格納する基本的なデータ構造です。辞書を作成し、キーを使用してその値にアクセスし、「name」、「age」、「city」に関連付けられた値を出力しました。
さらに、.values() メソッドを調べました。このメソッドは、辞書のすべての値を含むビューオブジェクトを返します。スクリプトを変更してこのメソッドを利用し、値のコレクションを出力しました。



