辞書にキーが登録されているかどうか調べるときは、in 演算子を使います。
in 演算子は < や == のような 比較演算子 の一種で、
キー in 辞書オブジェクト
という式は、指定したキー値が辞書オブジェクトに登録されていれば True を、登録されていなければ False を返します。
次の例では、キー値 "apple" は辞書 english_words に登録されていますので、in 演算子は True を返します。
In [17]:
english_words = {"apple": "りんご", "orange": "みかん", "peach": "もも"}
print("apple" in english_words)
しかし、"dog" の場合は登録されていないので、False を返します。
In [18]:
english_words = {"apple": "りんご", "orange": "みかん", "peach": "もも"}
print("dog" in english_words)
練習問題¶
in 演算子を使って、次のようなプログラムを書いてみましょう。
input()関数を使って、文字列を入力します。- 1. で入力した文字列が辞書オブジェクト
english_wordsに登録されていたら、対応する日本語を出力します。登録されていなければ、"登録されていません"と出力します。
In [2]:
english_words = {"apple": "りんご", "orange": "みかん", "peach": "もも"}
key = input("英単語を入力してください")
if key in english_words:
# キーが english_words に登録されている
print(english_words[key])
else:
# キーが english_words に登録されていない
print("登録されていません")
このプログラムは、まず input() 関数で入力した文字列を変数 key に代入します。
次に変数 key が english_words に登録されている場合は、if 文に指定した条件式
key in english_words
は True になるので、
print(english_words[key])
が実行されて対応する日本語を出力します。
変数 key が english_words に登録されていない場合は、if 文に指定した条件式
key in english_words
は False になるので、 else節の
print("登録されていません")
が実行されます。