簡體   English   中英

Python,list.remove() 不正確

[英]Python, list.remove() does not work right

您好,我正在嘗試刪除列表中的第一個和最后兩個元素。 我的列表是: ['12','30','22','06','27','13','23','16','14','20','09','29','23']

這是我正在使用的代碼:

dList.remove(dList[0])
dList.remove(dList[-1])
dList.remove(dList[-1])

它適用於太多其他列表,但在此列表中它返回:

['30', '22', '06', '27', '13', '16', '14', '20', '09', '29']

代替;

['30', '22', '06', '27', '13', '23', '16', '14', '20', '09',]

我注意到最后一個元素是“23”,兩個“23”都被刪除了,但我不知道如何修復它。 它應該可以正常工作,因為我再次刪除了第一個元素、最后一個元素和最后一個元素。 我沒有使用:

a = dList[0]
dList.remove(a)
a = dList[-1]
dList.remove(a)
a = dList[-1]
dList.remove(a)

remove() 方法從列表中刪除第一個匹配元素(作為參數傳遞)。

你有23重復了兩次。

如果要刪除索引,可以在示例中使用del 。它將是:

del dList[-1]

這應該工作

dList = dList[1:-2]

為什么不使用pop彈出列表的最后一個元素?

last_element = dList.pop()
semilast_element = dList.pop()

您甚至可以放置要彈出的元素的索引

first_element = dList.pop(0)
second_element = dList.pop(0)

始終參考原始文檔

和:

dList = ['12','30','22','06','27','13','23','16','14','20','09','29','23']

...您可以使用切片(如前所述)構造一個新列表,如下所示:

dList = dList[1:-2]

...或者您可以使用pop()就地進行操作,如下所示:

dList.pop(0)
dList.pop()
dList.pop()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM