前言
有時候我們會需要清除 list 裡面的特定內容,這篇有 list 清除相關內容的總整理,
包含 remove, pop, del, clear 的相關用法。
移除特定元素 list.remove(element)
list = ['cat', 'dog', 'dog', 'pig', 'dog']
list.remove('dog')
- 輸出結果為: [‘cat’, ‘dog’, ‘pig’, ‘dog’]
> 特別注意我們只會清除最先找到的「第一個」相符元素
如果有要完全清除該元素的需求,可以先使用搜尋的方式:
target = 'dog'
list = ['cat', 'dog', 'dog', 'pig', 'dog']
while(target in list):
list.remove(target)
- 輸出結果為: [‘cat’, ‘pig’]
移除特定位置 list.pop(index)
list = ['cat', 'dog', 'dog', 'pig', 'dog']
list.pop(3)
- 輸出結果為: [‘cat’, ‘dog’, ‘dog’, ‘dog’]
依照 0, 1, 2, 3, 4 的順序,我們移除了第3個欄位的元素。
其他 pop 常見用法 – pop(0) 移除第一個欄位,queue 常用
queue 的定義是先進先出,也就是說「先進來」的會優先拿掉,
我們可以結合 append() 與 pop(0) 的這兩個功能,
就能夠簡單實作出一個 queue。
其他 pop 常見用法 – pop() 移除最後一個欄位 (等於 pop(-1)),stack 常用
stack 的定義是先進後出,也就是說「後進來」的會優先拿掉,
我們可以結合 append() 與 pop() 或 pop(-1) 的這兩個功能,
就能夠簡單實作出一個 stack。
移除特定位置(進階) del list[index]
del 的用法與 pop 類似,不同的地方在於 del 不回傳值而是直接修改原 list,
list = ['cat', 'dog', 'dog', 'pig', 'dog']
del list[3]
- 輸出結果為: [‘cat’, ‘dog’, ‘dog’, ‘dog’]
依照 0, 1, 2, 3, 4 的順序,我們移除了第3個欄位的元素。
不同於pop的地方在於使用 del,我們不需要用一個參數去等於這個函數的結果。
del 進階用法,比 pop 更靈活的刪除特定範圍位置
del 有 pop 做不到的功能,就是能夠直接指定欄位進行刪除,
- 例如:del list[0:2] ,刪除位置 0, 1 的元素
list = ['cat', 'dog', 'dog', 'pig', 'dog']
del list[0:2]
- 輸出結果為: [‘dog’, ‘pig’, ‘dog’]
例如:del list[:] ,等於直接刪除全部元素,用法等同於 clear()
list = ['cat', 'dog', 'dog', 'pig', 'dog']
del list[:]
- 輸出結果為: []
將 list 完全清空 list.clear()
list = ['cat', 'dog', 'dog', 'pig', 'dog']
list.clear()
- 輸出結果為:[]
我們將 list 完全清空
Reference
- How to Clear a Python List [4 Ways & Examples]
- Python List clear()
- Python List remove()
- Python List pop()
- Remove all occurrences of a value from a list?
- 在 Python 列表中的 del、remove 和 pop 方法區別的介紹
⭐Python 基礎用法 相關文章整理⭐: | |
---|---|
1. | 【Py |