在使用字典的過程中,除了基礎(chǔ)操作我們還需要學(xué)會一些方法的使用。方法見下表:
方法 | 功能 |
clear | 清空字典內(nèi)容 |
get | 獲取指定鍵對應(yīng)值 |
items | 返回包含對象中所有變量及其值的2元組的列表 |
keys | 返回對象中所有鍵的元組形式 |
values | 返回對象中所有值的元組形式 |
pop | 如果鍵在字典中,則移除它并返回其值,否則返回默認(rèn)值。如果未給定默認(rèn)值且鍵不在字典中,則會引發(fā)鍵錯誤。 |
1. clear()方法
使用clear()方法會清空字典中的所有元素。
使用方法為:
my_dict.clear() >>> my_dict{1003: '小天', 1004: '小張', 1005: '小明', 1006: '小李'} >>> my_dict.clear()#使用clear()方法進(jìn)行清空操作 >>> my_dict{}
2. get()方法
我們在獲取鍵對應(yīng)的值的時候,使用get()方法可以避免因未找到相應(yīng)目標(biāo)而引發(fā)異常的情況。
使用方法為:
my.dict.get(key,default)
Key為我們要查詢的鍵,default為未找到時的默認(rèn)返回值,我們可以進(jìn)行自定義。
>>> my_dict = {1001:'小張',1002:'小華'} >>> my_dict.get(1001)#找到key1001對應(yīng)值 '小張' >>> my_dict.get(1002)#找到key1002對應(yīng)值 '小華' >>> my_dict.get(1003,'not found')#找到key1003對應(yīng)值,如果找不到就輸出'not found' 'not found'
3. items()方法
items()方法返回字典中成對的鍵和值,返回的是一種名叫字典視圖的特殊序列,其中每個元素都是一個元組。
使用方法:
my_dict.items()
具體使用:
>>> my_dict {1001: '小張', 1002: '小華'} >>> my_dict.items() dict_items([(1001, '小張'), (1002, '小華')])
items方法訪問的是整組整組的元素,我們在循環(huán)操作的時候會進(jìn)一步使用這種方法。
4. keys()方法
它的使用方式和items使用方法類似,keys返回字典中的鍵。
使用方法:
my_dict.keys()
具體使用:
>>> my_dict {1001: '小張', 1002: '小華'} >>> my_dict.keys() dict_keys([1001, 1002])
5. values()方法
vlaues()返回字典中的所有值。
使用方法:
my_dict.keys()
具體使用:
>>> my_dict {1001: '小張', 1002: '小華'} >>> my_dict.values() dict_values(['小張', '小華'])
6. pop()方法
pop()方法會刪除指定的鍵,并返回其值,如果沒有找到相應(yīng)鍵可輸出默認(rèn)值。
使用方法:
my_dict.pop(key,default)
Key為我們要刪除的鍵,當(dāng)沒有找到該鍵的時候會輸出default,default可自定義,當(dāng)沒有default時返回的是None。
具體方法:
>>> my_dict = {1001:'小華',1002:'小張',1003:'小美'} >>> my_dict.pop(1001)#刪除鍵為1001的這一項(xiàng) '小華' >>> my_dict#此時字典里已經(jīng)沒有鍵為1001這一項(xiàng) {1002: '小張', 1003: '小美'} >>> my_dict.pop(1004,'no found')#刪除鍵為1004這一項(xiàng),如果找不到返回'no found' 'no found'
這些方法在我們進(jìn)行字典操作的時候使用著非常方便,尤其是在遍歷字典的時候,我們會根據(jù)不同的需求去使用不同的方法。
7. 推薦習(xí)題
1052 | [編程入門]鏈表合并 |
C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:
一點(diǎn)編程也不會寫的:零基礎(chǔ)C語言學(xué)練課程
解決困擾你多年的C語言疑難雜癥特性的C語言進(jìn)階課程
從零到寫出一個爬蟲的Python編程課程
只會語法寫不出代碼?手把手帶你寫100個編程真題的編程百練課程
信息學(xué)奧賽或C++選手的 必學(xué)C++課程
藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競賽課入門課程
手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程