zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    js中==与===区别
    Initialization failure 0x0000000c
    Spring通过@Value注解注入属性的几种方式
    java中读取配置文件中数据的具体方法
    spring整合hibernate
    url上参数解析笔记
    编号的生成(日期+序列号)
    application.xml & -servlet.xml
    webApplicationContext 与servletContext
    Http协议整理
  • 原文地址:https://www.cnblogs.com/leolsl/p/12928877.html
Copyright © 2011-2022 走看看