• Python删除列表元素的3种方法


    之前看教程的时候比较着急,对这些基础掌握不好,过来回顾一下

    使用del语句删除

    lis = [1, 2, 3, 'a', 'b']
    print(lis)
    
    del lis[0]
    print(lis)
    

    输出

    [1, 2, 3, 'a', 'b']
    [2, 3, 'a', 'b']
    

    使用del语句可以删除任何位置处的列表元素,条件是知道索引
    如要删除列表中等的 ‘a’ 元素

    lis = [1, 2, 3, 'a', 'b']
    print(lis)
    
    del lis[3]
    print(lis)
    

    输出

    [1, 2, 3, 'a', 'b']
    [1, 2, 3, 'b']
    

    上面的实例表明,使用del语句将值从列表中删除后,就无法访问了

    使用pop()方法删除

    pop() 方法用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。

    lis = [1, 2, 3, 'a', 'b']
    print(lis)
    
    a = lis.pop()
    
    print(a)
    print(lis)
    

    输出

    [1, 2, 3, 'a', 'b']
    b
    [1, 2, 3, 'a']
    

    可以看出列表末尾的元素被删除并赋值给a中

    实际上,pop()方法可以用来删除列表中任何位置的元素,只需要在括号中指定要删除元素的索引即可

    lis = [1, 2, 3, 'a', 'b']
    print(lis)
    
    a = lis.pop(1)
    
    print(a)
    print(lis)
    

    输出

    [1, 2, 3, 'a', 'b']
    2
    [1, 3, 'a', 'b']
    

    可以看出用pop()方法把索引值为1的元素从列表中删除

    同del一样,被弹出的元素就不在列表中了

    根据值删除元素

    有时候不知道元素在列表中的位置,但知道元素的值,就可以用remove()方法删除元素
    例如我们要把列表中的元素 3 删除

    lis = [1, 2, 3, 'a', 'b']
    print(lis)
    
    lis.remove(3)
    print(lis)
    

    输出

    [1, 2, 3, 'a', 'b']
    [1, 2, 'a', 'b']
    

    注意
    remove()方法只删除第一个指定的值
    如我们列表中有两个元素的值为 3

    lis = [1, 2, 3, 'a', 'b', 3]
    print(lis)
    
    lis.remove(3)
    print(lis)
    

    输出

    [1, 2, 3, 'a', 'b', 3]
    [1, 2, 'a', 'b', 3]
    

    可以看出只删除了第一次出现的3
    我们可以用循环来删除所有的3

    lis = [1, 2, 3, 'a', 'b', 3]
    print(lis)
    
    while 3 in lis:
        lis.remove(3)
    print(lis)
    

    输出

    [1, 2, 3, 'a', 'b', 3]
    [1, 2, 'a', 'b']
    
  • 相关阅读:
    linux学习笔记(26)firewalld防火墙
    rabbitmq高可用,rabbitmq主从,rabbitmq镜像
    vmware vsphere虚拟化简介
    Spring Boot CMD 运行日志输出中文乱码
    SocketChannel支持设定参数
    Ubuntu 安装 MySQL 5.7
    CompletableFuture 使用
    SpringBoot 接口输出文件流 & Vue 下载文件流,获取 Header 中的文件名
    FileLock 多进程文件锁
    反射加缓存,解决不同的业务下调用不同的实现
  • 原文地址:https://www.cnblogs.com/lykkk/p/11448773.html
Copyright © 2020-2023  润新知