Python3 辞書 get() メソッド
説明
Python 辞書get()関数は指定されたキーの値を返します。
構文
get() メソッドの構文:
dict.get(key[, value])
引数
- key -- 辞書内で検索するキー。
- value -- 省略可能。指定したキーの値が存在しない場合、このデフォルト値を返します。
戻り値
指定されたキーの値を返します。キーが辞書内にない場合はデフォルト値を返し、デフォルト値を指定しない場合はNoneを返します。None。
例
以下の例は、get()関数の使用方法を示しています:
例
#!/usr/bin/python
tinydict = {'Name': 'サンプル', 'Age': 27}
print ("Age : ", tinydict.get('Age'))
# Sex を設定しておらず、デフォルト値も設定していないため、None が出力されます
print ("Sex : ", tinydict.get('Sex'))
# Salary を設定していないため、デフォルト値 0.0 が出力されます
print ('Salary: ', tinydict.get('Salary', 0.0))
tinydict = {'Name': 'サンプル', 'Age': 27}
print ("Age : ", tinydict.get('Age'))
# Sex を設定しておらず、デフォルト値も設定していないため、None が出力されます
print ("Sex : ", tinydict.get('Sex'))
# Salary を設定していないため、デフォルト値 0.0 が出力されます
print ('Salary: ', tinydict.get('Salary', 0.0))
上記の例の出力結果は次のとおりです:
Age : 27 Sex : None Salary: 0.0
get() メソッドと dict[key] による要素アクセスの違い
get(key) get() メソッドは、key(キー)が辞書内にない場合、デフォルト値Noneまたは設定したデフォルト値を返すことができます。
dict[key]key(キー)が辞書内にない場合、KeyError例外が発生します。
例
>>> サンプル = {}
>>> print('URL: ', サンプル.get('url')) # None を返します
URL: None
>>> print(サンプル['url']) # KeyError を引き起こします
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'url'
>>>
>>> print('URL: ', サンプル.get('url')) # None を返します
URL: None
>>> print(サンプル['url']) # KeyError を引き起こします
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'url'
>>>
ネストされた辞書の使用
get()get() メソッドのネストされた辞書での使用方法は次のとおりです:
例
#!/usr/bin/python
tinydict = {'サンプル' : {'url' : 'www.example.com'}}
res = tinydict.get('サンプル', {}).get('url')
# 出力結果
print("サンプル url は : ", str(res))
tinydict = {'サンプル' : {'url' : 'www.example.com'}}
res = tinydict.get('サンプル', {}).get('url')
# 出力結果
print("サンプル url は : ", str(res))
上記の例の出力結果は次のとおりです:
サンプル url 为 : www.example.com
その他の拡張
Python3 辞書