當(dāng)同學(xué)轉(zhuǎn)校時(shí),我們需要把同學(xué)的成績(jī)從已有的成績(jī)dict中刪除,這個(gè)時(shí)候我們就需要學(xué)習(xí)如何刪除dict中的元素。
dict提供便捷的pop()方法,允許我們快速刪除元素,pop()方法需要指定需要?jiǎng)h除的元素的key,并返回對(duì)應(yīng)的value。
假設(shè)Alice轉(zhuǎn)校了,需要把Alice的成績(jī)刪除,可以這樣寫(xiě):
d = {
'Alice': 45,
'Bob': 60,
'Candy': 75,
'David': 86,
'Ellena': 49
}
print(d) # ==> {'Alice': 45, 'Bob': 60, 'Candy': 75, 'David': 86, 'Ellena': 49}
alice_score= d.pop('Alice')
print(alice_score) # ==> 45
print(d) # ==> {'Bob': 60, 'Candy': 75, 'David': 86, 'Ellena': 49}
需要注意的是,pop()方法的參數(shù)是dict中的key,當(dāng)key不存在時(shí),同樣會(huì)引起錯(cuò)誤。比如在上述操作中,已經(jīng)把Alice的成績(jī)刪除了,假如再次pop('Alice'),將會(huì)引發(fā)錯(cuò)誤。
d.pop('Alice')
# 報(bào)錯(cuò)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'Alice'
在dict中,使用keys()方法,可以返回dict的所有key,在刪除某個(gè)元素時(shí),可以通過(guò)這個(gè)方法先判斷某個(gè)元素是否存在,請(qǐng)改造前面的程序,使得即使key不存在時(shí),刪除也不會(huì)拋異常。
參考答案:
d = {
'Alice': 45,
'Bob': 60,
'Candy': 75,
'David': 86,
'Ellena': 49
}
name = 'Alice'
if name in d.keys():
d.pop(name)
else:
print('{} not in d'.format(name))
請(qǐng)驗(yàn)證,完成請(qǐng)求
由于請(qǐng)求次數(shù)過(guò)多,請(qǐng)先驗(yàn)證,完成再次請(qǐng)求
打開(kāi)微信掃碼自動(dòng)綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書(shū)簽
舉報(bào)