列表的取值、改值、增加值都講完了,然后我們再來看怎么刪除值。
提到刪除,前面咱們已經(jīng)學(xué)過一種刪除的方式了。就是前面講引用計數(shù)的時候講的del,但是說的是del是接觸變量名語氣對應(yīng)值的綁定關(guān)系。
這個變量名沒有綁定值了,也就意味著這個變量被刪除了。如果它對應(yīng)的值也沒有其他引用了,也就相當(dāng)于這個變量名和變量值同時被刪掉了。
所以說雖然del本質(zhì)是接觸引用和值的綁定關(guān)系,但是它達(dá)到的效果其實(shí)和刪除是一樣的。
現(xiàn)在我寫一個變量名names。如果我要刪除列表里面的其中一個元素,比如我要把第0個元素美杜莎刪掉,就要加個中括號,然后把索引0鞋里面,最后打印names。
name = ['美杜莎', '古薰兒', '云韻', '雅妃']
del name[0]
print(name)
打印結(jié)果就是美杜莎被刪掉了。這就是刪除列表預(yù)算內(nèi)宿的第一種方法,但是要注意這不是列表的功能,而且也沒有返回值。
del只是Python給我們提供的通用單純的刪除方法,你可以用它刪變量、列表、字典都可以。就像前面學(xué)的len方法一樣。len可以統(tǒng)計字符串的長度也可以統(tǒng)計字典,列表的長度但是len是有返回值的。
然后我們來看刪除列表元素的第二種方法pop。
pop就是屬于列表這種類型的方法了,我們想刪除names這個列表的元素,就可以直接names點(diǎn)pop。
Pycharm也給我們提示了可以傳一個index參數(shù),也及時傳一個索引號進(jìn)去。但是如果你不傳值進(jìn)去的話,就會默認(rèn)是最后一個索引。
我先用一個變量res來做它的返回值,然后打印res,再打印一下這個列表。
names = ['美杜莎', '古薰兒', '云韻', '雅妃']
res = names.pop()
print(res)
print(names)
res返回的就是原來列表的最后一個值雅妃,最后打印的這個列表的內(nèi)容最后一個值雅妃也被刪掉了。
如果我想刪除第一個值美杜莎,就給它傳一個索引0。
names = ['美杜莎', '古薰兒', '云韻', '雅妃']
res = names.pop( 0)
print(res)
print(names)
現(xiàn)在我們發(fā)現(xiàn)pop是根據(jù)索引刪除列表的元素,千米哦按學(xué)的del也可以根據(jù)索引刪除列表的元素。區(qū)別就是pop會返回被刪除的這個元素的值,而del沒有返回值。
接著我們來看刪除列表元素的第三種方式,叫remove。這個方式也很簡單。
name = ['美杜莎', '古薰兒', '云韻', '雅妃']
name.remove('美杜莎')
print(name)
現(xiàn)在我們要驗(yàn)證一下,remove有沒有返回值。
name = ['美杜莎', '古薰兒', '云韻', '雅妃']
res = name.remove('美杜莎')
print(res)
print(name)
而打印結(jié)果是None,就說明remove是沒有返回值的。
未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » Python 列表詳解3