Python刪除列表元素的3種方法


之前看教程的時候比較着急,對這些基礎掌握不好,過來回顧一下

使用del語句刪除

lis = [1, 2, 3, 'a', 'b']
print(lis)

del lis[0]
print(lis)

輸出

[1, 2, 3, 'a', 'b']
[2, 3, 'a', 'b']

使用del語句可以刪除任何位置處的列表元素,條件是知道索引
如要刪除列表中等的 ‘a’ 元素

lis = [1, 2, 3, 'a', 'b']
print(lis)

del lis[3]
print(lis)

輸出

[1, 2, 3, 'a', 'b']
[1, 2, 3, 'b']

上面的實例表明,使用del語句將值從列表中刪除后,就無法訪問了

使用pop()方法刪除

pop() 方法用於移除列表中的一個元素(默認最后一個元素),並且返回該元素的值。

lis = [1, 2, 3, 'a', 'b']
print(lis)

a = lis.pop()

print(a)
print(lis)

輸出

[1, 2, 3, 'a', 'b']
b
[1, 2, 3, 'a']

可以看出列表末尾的元素被刪除並賦值給a中

實際上,pop()方法可以用來刪除列表中任何位置的元素,只需要在括號中指定要刪除元素的索引即可

lis = [1, 2, 3, 'a', 'b']
print(lis)

a = lis.pop(1)

print(a)
print(lis)

輸出

[1, 2, 3, 'a', 'b']
2
[1, 3, 'a', 'b']

可以看出用pop()方法把索引值為1的元素從列表中刪除

同del一樣,被彈出的元素就不在列表中了

根據值刪除元素

有時候不知道元素在列表中的位置,但知道元素的值,就可以用remove()方法刪除元素
例如我們要把列表中的元素 3 刪除

lis = [1, 2, 3, 'a', 'b']
print(lis)

lis.remove(3)
print(lis)

輸出

[1, 2, 3, 'a', 'b']
[1, 2, 'a', 'b']

注意
remove()方法只刪除第一個指定的值
如我們列表中有兩個元素的值為 3

lis = [1, 2, 3, 'a', 'b', 3]
print(lis)

lis.remove(3)
print(lis)

輸出

[1, 2, 3, 'a', 'b', 3]
[1, 2, 'a', 'b', 3]

可以看出只刪除了第一次出現的3
我們可以用循環來刪除所有的3

lis = [1, 2, 3, 'a', 'b', 3]
print(lis)

while 3 in lis:
    lis.remove(3)
print(lis)

輸出

[1, 2, 3, 'a', 'b', 3]
[1, 2, 'a', 'b']


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM