當前位置:
首頁 > 最新 > 你了解Python列表元素刪除的各種方法嗎?

你了解Python列表元素刪除的各種方法嗎?

Python的列表對象元素刪除有很多方法,下面的代碼中有些是錯誤的,有些是正確的,你都了解嗎?

def DEMO1():

x=[10,10,10,20,10,10,20,10]

for index, value in enumerate(x):

if value == 10:

x.remove(value)

print(x,"第一個錯誤程序")

DEMO1()

def DEMO2():

x=[10,10,10,20,10,10,20,10]

for value in x:

if value == 10:

x.remove(value)

print(x,"第二個錯誤程序")

DEMO2()

def DEMO3():

x=[10,10,10,20,10,10,20,10]

for i in range(len(x)):

if x[i] == 10:

x.remove(x[i])

print(x,"第三個錯誤程序")

# DEMO3() 上面這個main2程序連運行都會出錯,因為刪除到後面會超過列表長度

# 下面四個程序可以刪除所有元素為10的內容

def DEMO4():

x=[10,10,10,20,10,10,20,10]

for i in range(len(x)-1,-1,-1):

if x[i] == 10:

x.remove(x[i])

print(x,"第一個正確程序,採用從後面刪除模式")

DEMO4()

def DEMO5():

x=[10,10,10,20,10,10,20,10]

for value in x[:]:

if value == 10:

x.remove(value)

print(x,"第二個正確程序,採用切片模式")

DEMO5()

def DEMO6():

x=[10,10,10,20,10,10,20,10]

i=0

while 10 in x:

x.remove(10)

print(x,"第三個正確程序,採用while循環判斷成員函數")

DEMO6()

def DEMO7():

x=[10,10,10,20,10,10,20,10]

x1=[v for v in x if v!=10]

print(x1,"第四個正確程序,採用列表推導式")

x2=list(filter(lambda v:v!=10,x))

print(x2,"第五個正確程序,採用filter函數過濾")

DEMO7()


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python 的精彩文章:

python開發學習:Python 3 VS Python 2
如何用一個Python示例入門TensorFlow?

TAG:Python |