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

原文地址:https://www.cnblogs.com/leolsl/p/12928877.html