925

今日、辞書のキーを指定すると、関連付けられた値を返すdictメソッドに出くわしました。get

この機能はどのような目的で役立ちますか? 辞書内のキーに関連付けられた値を見つけたい場合は、 を実行するだけでdict[key]、同じ結果が返されます。

dictionary = {"Name": "Harry", "Age": 17}
dictionary["Name"]
dictionary.get("Name")
4

13 に答える 13

1372

キーが欠落している場合は、デフォルト値を指定できます。

dictionary.get("bogus", default_value)

戻りますdefault_value(あなたが選択したものは何でも)、一方

dictionary["bogus"]

を上げますKeyError

省略した場合default_valueNone

dictionary.get("bogus")  # <-- No default specified -- defaults to None

Noneのように返します

dictionary.get("bogus", None)

でしょう。

于 2012-06-14T21:12:12.963 に答える
35

get2 番目のオプション値を取ります。指定されたキーが辞書に存在しない場合、この値が返されます。

dictionary = {"Name": "Harry", "Age": 17}
dictionary.get('Year', 'No available data')
>> 'No available data'

2 番目のパラメーターを指定しない場合は、Noneが返されます。

のようにインデックスを使用するとdictionary['Year']、存在しないキーが発生しKeyErrorます。

于 2012-06-14T21:16:38.543 に答える
19

目的は、キーが見つからない場合にデフォルト値を指定できるようにすることです。これは非常に便利です

dictionary.get("Name",'harry')
于 2012-06-14T21:12:27.547 に答える
11

この機能はどのような目的で役立ちますか?

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
于 2017-09-04T23:19:24.727 に答える
-2

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'
于 2016-08-25T07:02:45.957 に答える