python 列表之更新、刪除元素


一、替換列表中的元素:

當需要更改列表中某一元素的值時,我們改如何處理?
其實,我們只要遍歷一遍列表,對其中的每一個元素進行判斷,若該元素是想要更改的元素,則對其進行更改。
如下圖所示例子:

 

 computers列表中,有很多的電腦品牌,我們要將列表中的“HUAWEI”替換成“Lenovo”,思路是遍歷此列表,找到
“HUAWEI”這個元素,通過下標或索引的方式將元素替換掉

上面這種方式打印結果如下:

 

 

在替換列表中的元素時,很容易出現如下錯誤:即不是通過下標或索引的方式進行元素替換:

 

 上圖打印的結果如下,並沒有將列表中的“HUAWEI”替換成“Lenovo”。因為computer值的改變,並沒有改變列表中的值。

 

 

二、刪除列表中的元素:
我們先看一種方式:

 

 從代碼邏輯去看,似乎沒有問題,看看我們運行時的結果怎樣:

 

 結果提示列表索引溢出。這是為什么呢?是因為沒刪除一個元素,列表的長度是變化的,那么computers[i]必然會超出
列表的索引范圍。必然,列表長度為5,那么i的值就是0 到 4,當列表中一個元素被刪除后,該列表長度變為4,當i的值
為4時,就超過了列表的索引范圍(因為被刪除一個元素后,列表的索引范圍為0到3)
那么,我們該如何去正確刪除列表的元素呢?或許我們可以通過while循環來實現,如下圖:

 

 遍歷列表中的元素,若遍歷過程中元素為“mac”或“IBM”,則將其刪掉。當刪掉了該元素后,列表長度將要-1
此時不需要將i的值進行+1操作,因為刪掉后后面的元素索引將前移(即減1),程序必須還得從當前位置進
行判斷。

若遍歷過程中元素不包含“mac”或“IBM”,,則不刪除,i的值加1


免責聲明!

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



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