Python で辞書に特定のキーが含まれているかどうかを確認する方法

PythonPythonBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Python で辞書 (dictionary) に特定のキーが含まれているかどうかを確認する方法を学びます。キーと値のペアでデータを格納する辞書は、基本的なデータ構造です。

この実験では、.keys() メソッドを使用して辞書のキーを探索し、結果のビューオブジェクトをリストに変換する方法を案内します。また、in 演算子と get() メソッドを使用して、辞書内に特定のキーが存在するかどうかを効率的に判断する方法も学びます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/ErrorandExceptionHandlingGroup(["Error and Exception Handling"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python/BasicConceptsGroup -.-> python/booleans("Booleans") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/DataStructuresGroup -.-> python/dictionaries("Dictionaries") python/ErrorandExceptionHandlingGroup -.-> python/catching_exceptions("Catching Exceptions") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/booleans -.-> lab-559503{{"Python で辞書に特定のキーが含まれているかどうかを確認する方法"}} python/conditional_statements -.-> lab-559503{{"Python で辞書に特定のキーが含まれているかどうかを確認する方法"}} python/dictionaries -.-> lab-559503{{"Python で辞書に特定のキーが含まれているかどうかを確認する方法"}} python/catching_exceptions -.-> lab-559503{{"Python で辞書に特定のキーが含まれているかどうかを確認する方法"}} python/data_collections -.-> lab-559503{{"Python で辞書に特定のキーが含まれているかどうかを確認する方法"}} end

辞書のキーを探索する

このステップでは、Python で辞書 (dictionary) のキーにアクセスする方法を学びます。辞書は、キーと値のペアでデータを格納する基本的なデータ構造です。キーを取得する方法を理解することは、辞書を効果的に操作するために不可欠です。

まず、操作対象となる簡単な辞書を作成しましょう。LabEx 環境で VS Code エディタを開き、~/project ディレクトリに dictionary_keys.py という名前の新しいファイルを作成します。

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

では、この辞書のキーにアクセスする方法を探索しましょう。Python ではこの目的のために .keys() メソッドが用意されています。dictionary_keys.py ファイルに以下のコードを追加します。

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

keys = my_dict.keys()
print(keys)

ファイルを保存し、ターミナルで以下のコマンドを使用してスクリプトを実行します。

python dictionary_keys.py

以下の出力が表示されるはずです。

dict_keys(['name', 'age', 'city'])

この出力は "dict_keys" オブジェクトを示しています。これは、辞書内のすべてのキーのリストを表示するビューオブジェクトです。

このビューオブジェクトをリストに変換するには、list() 関数を使用できます。dictionary_keys.py ファイルを以下のように変更します。

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

keys = list(my_dict.keys())
print(keys)

ファイルを保存し、再度スクリプトを実行します。

python dictionary_keys.py

今度は、出力がキーのリストになります。

['name', 'age', 'city']

これで、このリストを反復処理し、各キーに対して操作を実行できます。たとえば、各キーを個別に出力することができます。

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

keys = list(my_dict.keys())
for key in keys:
    print(key)

ファイルを保存し、スクリプトを実行します。

python dictionary_keys.py

出力は以下のようになります。

name
age
city

これは、Python で辞書のキーにアクセスし、反復処理する方法を示しています。この概念を理解することは、辞書を効果的に操作し、情報を抽出するために重要です。

in 演算子を使用する

このステップでは、in 演算子を使用して辞書 (dictionary) に特定のキーが存在するかどうかを確認する方法を学びます。in 演算子は、エラーを発生させることなくキーの存在を判定する強力なツールです。

前のステップで作成した辞書を引き続き使用しましょう。もし dictionary_keys.py ファイルがない場合は、~/project ディレクトリに以下の内容で再度作成します。

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

では、in 演算子を使用して、辞書内に特定のキーが存在するかどうかを確認しましょう。dictionary_keys.py ファイルに以下のコードを追加します。

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

if "name" in my_dict:
    print("The key 'name' exists in the dictionary.")
else:
    print("The key 'name' does not exist in the dictionary.")

ファイルを保存し、ターミナルで以下のコマンドを使用してスクリプトを実行します。

python dictionary_keys.py

以下の出力が表示されるはずです。

The key 'name' exists in the dictionary.

これにより、キー "name" が辞書内に存在することが確認されます。

では、存在しないキーを確認してみましょう。dictionary_keys.py ファイルを以下のように変更します。

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

if "country" in my_dict:
    print("The key 'country' exists in the dictionary.")
else:
    print("The key 'country' does not exist in the dictionary.")

ファイルを保存し、再度スクリプトを実行します。

python dictionary_keys.py

出力は以下のようになります。

The key 'country' does not exist in the dictionary.

これは、in 演算子を使用して辞書内のキーの存在を確認する方法を示しています。これは、キーの値にアクセスする前に、キーが存在するかどうかを安全かつ効率的に判定する方法です。

in 演算子は、キーが存在する場合は True を返し、存在しない場合は False を返します。このブール値を条件文やその他の論理演算で使用することができます。

get() メソッドで確認する

このステップでは、get() メソッドを使用して辞書 (dictionary) の値に安全にアクセスする方法を学びます。get() メソッドは、キーに関連付けられた値を取得する方法を提供し、キーが存在しない場合に返すデフォルト値を指定することができます。これにより、KeyError 例外によってプログラムがクラッシュするのを防ぎます。

前のステップで作成した辞書を引き続き使用しましょう。もし dictionary_keys.py ファイルがない場合は、~/project ディレクトリに以下の内容で再度作成します。

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

では、get() メソッドを使用して、キー "name" に関連付けられた値を取得しましょう。dictionary_keys.py ファイルに以下のコードを追加します。

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

name = my_dict.get("name")
print(name)

ファイルを保存し、ターミナルで以下のコマンドを使用してスクリプトを実行します。

python dictionary_keys.py

以下の出力が表示されるはずです。

Alice

get() メソッドは、キー "name" に関連付けられた値を正常に取得しました。

では、存在しないキー(例えば "country")に関連付けられた値を取得してみましょう。dictionary_keys.py ファイルを以下のように変更します。

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

country = my_dict.get("country")
print(country)

ファイルを保存し、再度スクリプトを実行します。

python dictionary_keys.py

出力は以下のようになります。

None

デフォルトでは、get() メソッドはキーが存在しない場合に None を返します。これにより、KeyError が発生するのを防ぎます。

キーが存在しない場合に返すデフォルト値を指定することもできます。dictionary_keys.py ファイルを以下のように変更します。

## Content of dictionary_keys.py
my_dict = {
    "name": "Alice",
    "age": 30,
    "city": "New York"
}

country = my_dict.get("country", "Unknown")
print(country)

ファイルを保存し、スクリプトを実行します。

python dictionary_keys.py

出力は以下のようになります。

Unknown

この場合、辞書にキー "country" が存在しないため、get() メソッドは指定したデフォルト値 "Unknown" を返しました。

get() メソッドを使用することは、辞書を操作する際のベストプラクティスです。これにより、キーが存在しない場合を適切に処理でき、エラーを防ぎ、コードをより堅牢にすることができます。

まとめ

この実験 (Lab) では、Python で辞書 (dictionary) のキーにアクセスする方法を探索することから始めました。辞書を作成し、.keys() メソッドを使用して辞書のキーを含むビューオブジェクトを取得する方法を学びました。

次に、list() 関数を使用してこのビューオブジェクトをリストに変換する方法を学びました。これにより、キーを反復処理し、それぞれのキーを個別に印刷するなどの操作を実行することができます。