一、使用切片刪除列表第一個元素
Python列表是一種有序的可變序列,其中某些元素可能重複出現。列表的許多操作都是對其中的元素進行添加、刪除、插入、查找等操作。在列表刪除元素時,可以使用切片的方式快速實現。
>>> a = [1, 2, 3, 4, 5]
>>> a = a[1:]
>>> a
[2, 3, 4, 5]
上述代碼中,第一行初始化了一個包含1-5的list,第二行使用了切片的方式將列表第一個元素刪除,即從位置1開始獲取list,等價於a[1:len(a)]。最後輸出變數a,結果為[2, 3, 4, 5]。
切割方式刪除第一個元素的優點是不改變原列表,因為列表在Python中是可變類型(Mutable),修改操作會改變列表自身,這就又引發了另一個問題:為什麼不直接使用列表刪除方法呢?因為使用內置的刪除方法del a[0]一樣可以達到刪除第一個元素的目的,但這種方式會對原來的列表進行修改,當然,如果你不需要保留原列表,使用索引刪除方式也是可以的。
二、使用pop()方法刪除列表第一個元素
list彈出方法pop()可以刪除並返回列表中指定位置的元素,位置默認為-1(即列表最後一個元素),因此pop(0)可以快速刪除第一個元素,如下:
>>> a = [1, 2, 3, 4, 5]
>>> a.pop(0)
1
>>> a
[2, 3, 4, 5]
在上述代碼中,首先初始化一個包含1-5的列表,然後使用pop(0)方法刪除並返回第一個元素,即1,並更新a為[2,3,4,5]。
需要注意的是,pop()方法默認返回刪除的元素,如果不需要這個返回值,可以快速將它給餵了狗:
>>> a = [1, 2, 3, 4, 5]
>>> a.pop(0)
>>> a
[2, 3, 4, 5]
三、使用del語句刪除列表第一個元素
上面提到了,在Python中,可以使用del語句刪除列表的元素,例如:
>>> a = [1, 2, 3, 4, 5]
>>> del a[0]
>>> a
[2, 3, 4, 5]
上述代碼使用del語句刪除列表a的第一個元素,等價於pop(0)方式和切片方式的操作,但是del方法沒有返回值,而且是對原列表進行操作,也就沒辦法保留原列表內容。當處理大量列表刪除操作時,推薦使用切片方式,因為它比其他方法更快,也更安全。
四、使用列表解析刪除列表第一個元素
好的,我們已經介紹了使用切片、pop()、del語句刪除列表第一個元素的方式,那麼來一種比較新穎的方式吧:使用列表解析實現刪除第一個元素:
>>> a = [1, 2, 3, 4, 5]
>>> a = [x for i, x in enumerate(a) if i != 0]
>>> a
[2, 3, 4, 5]
上述代碼解析:第一行是原始的列表,第二行是通過 for … in … 篩選出來的,for循環枚舉列表a中每個元素的對應索引和值,僅僅保留索引值不為0的元素。這個方法在追求高性能的場景下並不理想,但在一定的場景下,例如使用Python函數式編程編碼時,它可以是一種可選的方式。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/247673.html