您好,我正在嘗試洗掉串列中的第一個和最后兩個元素。我的清單是:['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)
uj5u.com熱心網友回復:
remove() 方法從串列中洗掉第一個匹配元素(作為引數傳遞)。
你已經23重復了兩次。
如果要洗掉索引,可以在示例中使用del。它將是:
del dList[-1]
uj5u.com熱心網友回復:
這應該作業
dList = dList[1:-2]
uj5u.com熱心網友回復:
為什么不使用pop彈出串列的最后一個元素?
last_element = dList.pop()
semilast_element = dList.pop()
您甚至可以放置要彈出的元素的索引
first_element = dList.pop(0)
second_element = dList.pop(0)
始終參考原始檔案
uj5u.com熱心網友回復:
和:
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()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/505418.html
下一篇:如何操作串列中的字串?
