【Python】辞書操作:キーと値の存在チェックと検索

  • URLをコピーしました!
嫁ちゃん
嫁ちゃん
辞書のキーと値の存在チェックとは、辞書に載っているかどうか確認するという感じですか?便利なような、回りくどいような。。。
わたし
わたし
索引のラベルが付いているかどうか確かめる感じかな。
値までチェックできるなんてコンピュータのらしい機能だね。
目次

辞書とは?

辞書は他の言語にも “連想記憶 (associated memory)” や “連想配列 (associative array)” という名前で存在することがあります。ある範囲の数でインデクス化されているシーケンスと異なり、辞書は キー (key) でインデクス化されています。このキーは何らかの変更不能な型になります。文字列、数値は常にキーにすることができます。タプルは、文字列、数値、その他のタプルのみを含む場合はキーにすることができます。
5.5. 辞書型 (dictionary) – Python3.8.1 ドキュメント

こちらも合わせてご覧ください

>>>【Python】辞書操作:辞書の作成

辞書の要素を検索

辞書のキー 存在チェック

dic = {'key1': 1, 'key2': 2, 'key3': 3}

print ( 'key2' in dic )
print ( 'key99' in dic )
print ( 'key2' in dic.keys() )
print ( 'key99' in dic.keys() )

keys 関数は省略して記述することができます。

True
False
True
False

辞書の値 存在チェック

dic = {'key1': 1, 'key2': 2, 'key3': 3}

print ( 2 in dic.values() )
print ( 99 in dic.values() )
True
False

辞書のキーと値 存在チェック

dic = {'key1': 1, 'key2': 2, 'key3': 3}

print ( ( 'key2, 2 ) in dic.items() )
print ( ( 'key99, 3 ) in dic.items() )
True
False

辞書の値を取得

辞書のキーを指定して値を取得

dic = {'key1': 1, 'key2': 2, 'key3': 3}

print ( dic['key2'] )
print ( dic['key99'] )

キーが存在しない場合 KeyError となります。

2

KeyError: 'key99'

get 関数を使用して辞書の値を取得

dic = {'key1': 1, 'key2': 2, 'key3': 3}

print dic.get('key2')
print dic.get('key99' )
print dic.get('key99', 'nothing')

キーが存在しない場合 KeyError は発生しません。'none'が返されます。また、初期値を指定しておくことで、キーが存在しない場合の戻り値とすることができます。

2
none
nothing
嫁ちゃん
嫁ちゃん

本物の辞書なら探すのが大変な作業もコンピュータならあっという間!

わたし
わたし

そうだねー。

もう、わたし、老眼なので、本物の辞書を見るのもいやだわ😁

[A8_TechAcademy065]

[Footer]

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次