辞書にキーが登録されているかどうか調べるときは、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("登録されていません")
が実行されます。