Python list列表刪除元素的4種方法

在 Python 列表中刪除元素主要分為以下 3 種場景:

  • 根據目標元素所在位置的索引進行刪除,可以使用 del 關鍵字或者 pop() 方法;
  • 根據元素本身的值進行刪除,可使用列表(list類型)提供的 remove() 方法;
  • 將列表中所有元素全部刪除,可使用列表(list類型)提供的 clear() 方法。

del:根據索引值刪除元素

del 是 Python 中的關鍵字,專門用來執行刪除操作,它不僅可以刪除整個列表,還可以刪除列表中的某些元素。我們已經在《Python列表》中講解瞭如何刪除整個列表,所以本節隻講解如何刪除列表元素。

del 可以刪除列表中的單個元素,格式為:

del listname[index]

其中,listname 表示列表名稱,index 表示元素的索引值。

del 也可以刪除中間一段連續的元素,格式為:

del listname[start : end]

其中,start 表示起始索引,end 表示結束索引。del 會刪除從索引 start 到 end 之間的元素,不包括 end 位置的元素。

【示例】使用 del 刪除單個列表元素:

lang = ["Python", "C++", "Java", "PHP", "Ruby", "MATLAB"]
#使用正數索引
del lang[2]
print(lang)
#使用負數索引
del lang[-2]
print(lang)

運行結果:
[‘Python’, ‘C++’, ‘PHP’, ‘Ruby’, ‘MATLAB’]
[‘Python’, ‘C++’, ‘PHP’, ‘MATLAB’]

【示例】使用 del 刪除一段連續的元素:

lang = ["Python", "C++", "Java", "PHP", "Ruby", "MATLAB"]
del lang[1: 4]
print(lang)
lang.extend(["SQL", "C#", "Go"])
del lang[-5: -2]
print(lang)

運行結果:
[‘Python’, ‘Ruby’, ‘MATLAB’]
[‘Python’, ‘C#’, ‘Go’]

pop():根據索引值刪除元素

Python pop() 方法用來刪除列表中指定索引處的元素,具體格式如下:

listname.pop(index)

其中,listname 表示列表名稱,index 表示索引值。如果不寫 index 參數,默認會刪除列表中的最後一個元素,類似於數據結構中的“出棧”操作。

pop() 用法舉例:

nums = [40, 36, 89, 2, 36, 100, 7]
nums.pop(3)
print(nums)
nums.pop()
print(nums)

運行結果:
[40, 36, 89, 36, 100, 7]
[40, 36, 89, 36, 100]

大部分編程語言都會提供和 pop() 相對應的方法,就是 push(),該方法用來將元素添加到列表的尾部,類似於數據結構中的“入棧”操作。但是 Python 是個例外,Python 並沒有提供 push() 方法,因為完全可以使用 append() 來代替 push() 的功能。

remove():根據元素值進行刪除

除瞭 del 關鍵字,Python 還提供瞭 remove() 方法,該方法會根據元素本身的值來進行刪除操作。

需要註意的是,remove() 方法隻會刪除第一個和指定值相同的元素,而且必須保證該元素是存在的,否則會引發 ValueError 錯誤。

remove() 方法使用示例:

nums = [40, 36, 89, 2, 36, 100, 7]
#第一次刪除36
nums.remove(36)
print(nums)
#第二次刪除36
nums.remove(36)
print(nums)
#刪除78
nums.remove(78)
print(nums)

運行結果:
[40, 89, 2, 36, 100, 7]
[40, 89, 2, 100, 7]
Traceback (most recent call last):
    File “C:\Users\mozhiyan\Desktop\demo.py”, line 9, in <module>
        nums.remove(78)
ValueError: list.remove(x): x not in list

最後一次刪除,因為 78 不存在導致報錯,所以我們在使用 remove() 刪除元素時最好提前判斷一下。

clear():刪除列表所有元素

Python clear() 用來刪除列表的所有元素,也即清空列表,請看下面的代碼:

url = list("//www.jb51.net/python/")
url.clear()
print(url)

運行結果:
[]

到此這篇關於Python list列表刪除元素的4種方法的文章就介紹到這瞭,更多相關Python list列表刪除內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: