Python字典get()函數使用詳解
get() 可以根據鍵「獲取值」
語法
dict.get( key, value )
參數
- key :(必選)指定要搜索的鍵
- value :(可選)如果鍵不存在,就返回指定內容
返回值
- 如果鍵存在,就返回鍵對應的值
- 如果鍵不存在,就返回指定內容或None
實例:根據鍵獲取字典的值
dict1 = {'key1': 'value1', 'key2': 'value2'}
print(dict1.get('key1'))輸出:
value1
1、設置默認返回值
get() 可以指定「默認」的「返回值」,鍵不存在時,它不會報錯,而是返回一個默認值,這樣的好處是,程序在運行時不會出現異常的情況。
「不指定」返回值,鍵不存在時,默認返回 None
dict1 = {'key1': 'value1', 'key2': 'value2'}
print(dict1.get('key3'))
print(dict1.get('key3', None))輸出:
None
None
「指定」返回值,鍵不存在時,返回會指定的返回值
dict1 = {'key1': 'value1', 'key2': 'value2'}
print(dict1.get('key3', '指定返回值'))輸出:
指定返回值
返回值可以是整型、字符串、元祖、列表等各種數據類型
dict1 = {'key1': 'value1', 'key2': 'value2'}
print(dict1.get('key3', 1))
print(dict1.get('key3', 1.1))
print(dict1.get('key3', True))
print(dict1.get('key3', [1, 2]))
print(dict1.get('key3', (1, 2)))
print(dict1.get('key3', {1, 2}))輸出:
1
1.1
True
[1, 2]
(1, 2)
{1, 2}
2、嵌套字典取值
字典中「嵌套」字典時,可以多次調用 get() ,來取值。
dict1 = {'key1': 'value1', 'key2': {'key3': 'value3'}}
print(dict1.get('key2').get('key3'))
# 等價于這樣
result = dict1.get('key2')
print(result)
result1 = result.get('key3')
print(result1)輸出:
value3
{'key3': 'value3'}
value3
3、get() 和 dict[key] 的區(qū)別
get() 和 dict[key] 都可以根據鍵獲取字典的值,不同的是
get() 的鍵在字典中不存在時,會返回「None」 或 「指定內容」
dict1 = {'key1': 'value1', 'key2': 'value2'}
print(dict1.get('key3'))
print(dict1.get('key3', '指定內容'))輸出:
None
指定內容
dict[key] 的鍵在字典中不存在時,會「報錯」 KeyError: ‘key3’
dict1 = {'key1': 'value1', 'key2': 'value2'}
print(dict1['key3'])輸出:

4、統(tǒng)計元素計數
get() 可以「統(tǒng)計」列表元素出現的「個數」,將統(tǒng)計結果保存到字典中
dict1 = {}
list1 = ['¥', '¥', '¥', '$', '$', '$', '$', '$']
for i in list1:
dict1[i] = dict1.get(i, 0) + 1
print(dict1)輸出:
{'¥': 3, '$': 5}
到此這篇關于Python字典get()函數使用詳解的文章就介紹到這了,更多相關Python get()函數內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
手把手教你打造個性化全棧應用Python?Reflex框架全面攻略
Reflex框架是為了解決傳統(tǒng)全棧開發(fā)中的一些挑戰(zhàn)而誕生的,它充分利用了現代前端框架(如React)的優(yōu)勢,與后端技術(如Node.js)深度集成,使得開發(fā)者能夠更加流暢地構建整個應用,Reflex的設計理念包括簡化、響應性和一致性,旨在提高全棧開發(fā)的效率和可維護性2023-12-12
淺談Python實現opencv之圖片色素的數值運算和邏輯運算
今天帶大家來學習的是關于Python的相關知識,文章圍繞著圖片色素的數值運算和邏輯運算展開,文中有非常詳細的的介紹及代碼示例,需要的朋友可以參考下2021-06-06

