今日、辞書のキーを指定すると、関連付けられた値を返すdict
メソッドに出くわしました。get
この機能はどのような目的で役立ちますか? 辞書内のキーに関連付けられた値を見つけたい場合は、 を実行するだけでdict[key]
、同じ結果が返されます。
dictionary = {"Name": "Harry", "Age": 17}
dictionary["Name"]
dictionary.get("Name")
今日、辞書のキーを指定すると、関連付けられた値を返すdict
メソッドに出くわしました。get
この機能はどのような目的で役立ちますか? 辞書内のキーに関連付けられた値を見つけたい場合は、 を実行するだけでdict[key]
、同じ結果が返されます。
dictionary = {"Name": "Harry", "Age": 17}
dictionary["Name"]
dictionary.get("Name")
キーが欠落している場合は、デフォルト値を指定できます。
dictionary.get("bogus", default_value)
戻りますdefault_value
(あなたが選択したものは何でも)、一方
dictionary["bogus"]
を上げますKeyError
。
省略した場合default_value
はNone
、
dictionary.get("bogus") # <-- No default specified -- defaults to None
None
のように返します
dictionary.get("bogus", None)
でしょう。
get
2 番目のオプション値を取ります。指定されたキーが辞書に存在しない場合、この値が返されます。
dictionary = {"Name": "Harry", "Age": 17}
dictionary.get('Year', 'No available data')
>> 'No available data'
2 番目のパラメーターを指定しない場合は、None
が返されます。
のようにインデックスを使用するとdictionary['Year']
、存在しないキーが発生しKeyError
ます。
目的は、キーが見つからない場合にデフォルト値を指定できるようにすることです。これは非常に便利です
dictionary.get("Name",'harry')
この機能はどのような目的で役立ちますか?
1 つの特定の使用法は、辞書を使用したカウントです。特定のリスト内の各要素の出現回数を数えたいとしましょう。これを行う一般的な方法は、キーが要素で値が出現回数である辞書を作成することです。
fruits = ['apple', 'banana', 'peach', 'apple', 'pear']
d = {}
for fruit in fruits:
if fruit not in d:
d[fruit] = 0
d[fruit] += 1
メソッドを使用する.get()
と、このコードをよりコンパクトで明確にすることができます。
for fruit in fruits:
d[fruit] = d.get(fruit, 0) + 1
get
使用状況に基づいて、このメソッドを使用する必要があります。
例1
In [14]: user_dict = {'type': False}
In [15]: user_dict.get('type', '')
Out[15]: False
In [16]: user_dict.get('type') or ''
Out[16]: ''
例2
In [17]: user_dict = {'type': "lead"}
In [18]: user_dict.get('type') or ''
Out[18]: 'lead'
In [19]: user_dict.get('type', '')
Out[19]: 'lead'