標籤:
以a=[1,2,3] 為例,似乎使用del, remove, pop一個元素2 之後 a都是為 [1,3], 如下:
- >>> a=[1,2,3]
- >>> a.remove(2)
- >>> a
- [1, 3]
- >>> a=[1,2,3]
- >>> del a[1]
- >>> a
- [1, 3]
- >>> a= [1,2,3]
- >>> a.pop(1)
- 2
- >>> a
- [1, 3]
- >>>
那麼Python對於列表的del, remove, pop操作,它們之間有何區別呢?
首先,remove 是刪除首個合格元素。並不是刪除特定的索引。如下例: 本文來自Novell迷網站 http://novell.me
- >>> a = [0, 2, 2, 3]
- >>> a.remove(2)
- >>> a
- [0, 2, 3]
而對於 del 來說,它是根據索引(元素所在位置)來刪除的,如下例:
- >>> a = [3, 2, 2, 1]
- >>> del a[1]
- [3, 2, 1]
第1個元素為a[0] --是以0開始計數的。則a[1]是指第2個元素,即裡面的值2.
最後我們再看看pop
- >>> a = [4, 3, 5]
- >>> a.pop(1)
- 3
- >>> a
- [4, 5]
pop返回的是你彈出的那個數值。
所以使用時要根據你的具體需求選用合適的方法。 內容來自http://novell.me
另外它們如果出錯,出錯模式也是不一樣的。注意看下面區別:
- >>> a = [4, 5, 6]
- >>> a.remove(7)
- Traceback (most recent call last):
- File "<stdin>", line 1, in <module>
- ValueError: list.remove(x): x not in list
- >>> del a[7]
- Traceback (most recent call last):
- File "<stdin>", line 1, in <module>
- IndexError: list assignment index out of range
- >>> a.pop(7)
- Traceback (most recent call last):
- File "<stdin>", line 1, in <module>
- IndexError: pop index out of range
python 數組的del ,remove,pop區別