[英]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.