• Python(八)——列表的详细使用


    Python(八)——列表的详细使用

    1、添加元素

    append()

    append()方法:在列表的末尾追加元素

    • 可以将一个元素追加到列表末尾
    • 也可以将整个列表看成一个元素,然后追加到列表末尾
    #将一个元素追加到列表末尾
    my_list = ['a', 'b', 'c']
    my_list.append('d')
    print(my_list)
    #将整个列表追加到列表末尾
    my_list2 = ['d', 'e', 'f']
    my_list.append(my_list2)
    print(my_list)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    执行结果:

    ['a', 'b', 'c', 'd']
    ['a', 'b', 'c', 'd', ['d', 'e', 'f']]
    
    • 1
    • 2

    insert()

    insert()方法:在列表的指定索引位置添加元素

    my_list3 = ['a','b','d','e']
    my_list3.insert(2,'c')
    print(my_list3)
    
    • 1
    • 2
    • 3

    执行结果:

    ['a', 'b', 'c', 'd', 'e']
    
    • 1

    extend()

    extend()方法:将一个列表中的元素从头开始逐一添加到列表中

    my_list3 = ['a', 'b', 'c', 'd', 'e']
    my_list4 = ['f','g','h']
    my_list3.extend(my_list4)
    print(my_list4)
    
    • 1
    • 2
    • 3
    • 4

    执行结果:

    ['a', 'b', 'c', 'd', 'e','f', 'g', 'h', ]
    
    • 1

    2、删除元素

    del 根据下标删除元素

    del关键字:根据目标元素索引进行删除

    my_list7 = [41, 63, 89, 22, 37, 101, 77, 56, 16, 19]
    #删除单个元素
    del my_list7[3]
    print(my_list7)
    #删除一段区间的元素
    del  my_list7[2:4]
    print(my_list7)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    执行结果:

    [41, 63, 89, 37, 101, 77, 56, 16, 19]
    [41, 63, 101, 77, 56, 16, 19]
    
    • 1
    • 2

    当直接使用del 接列表名时,会删除整个列表

    pop() 删除列表最后一个元素

    pop()方法:当不指定下标时,默认会删除列表最后一个元素(类似于出栈操作),指定下标时会删除指定元素

    my_list7 = [41, 63, 89, 22, 37, 101, 77, 56, 16, 19]
    my_list7.pop()
    print(my_list7)
    
    • 1
    • 2
    • 3

    执行结果:

    [41, 63, 89, 22, 37, 101, 77, 56, 16]
    
    • 1

    remove() 根据元素值删除

    remove()方法:根据元素的值来进行删除,如果有两个值,只会删除第一个,如果值不存在则报错

    my_list7 = [41, 63, 89, 22, 37, 101, 77, 56, 16, 19, 101]
    my_list7.remove(63)
    my_list7.remove(101)
    print(my_list7)
    
    • 1
    • 2
    • 3
    • 4

    执行结果:

    [41, 89, 22, 37, 77, 56, 16, 19, 101]
    
    • 1

    clear() 删除所有元素

    clear()方法:删除列表中所有元素

    my_list7 = [41, 63, 89, 22, 37, 101, 77, 56, 16, 19, 101]
    my_list7.clear();
    print(my_list7)
    
    • 1
    • 2
    • 3

    执行结果:列表被清空

    []
    
    • 1

    3、修改元素

    修改单个元素

    对某个元素重新赋值,就是修改这个元素:

    my_list5 = [41, 63, 89, 22, 37, 101, 77, 56]
    my_list5[2] = -36
    my_list5[-3] = -202 #负数下标从最右边开始,为-1
    print(my_list5)
    
    • 1
    • 2
    • 3
    • 4

    执行结果:

    [41, 63, -36, 22, 37, -202, 77, 56]
    
    • 1

    修改一组元素

    指定一个区间(左闭右开),给这个区间中的元素重新赋值

    my_list5 = [41, 63, 89, 22, 37, 101, 77, 56]
    my_list5[2:4] = [98,33,55]
    print(my_list5)
    
    • 1
    • 2
    • 3

    执行结果:指定的区间是 [2-4),区间只有两个元素,但是我们赋了三个值,多的那个值就会添加进列表

    [41, 63, 98, 33, 55, 37, 101, 77, 56]
    
    • 1

    但是如果在区间中指定了步长,就要求区间元素和赋值个数要相同,否则会报错,修改第1,3,5个元素:

    my_list5 = [41, 63, 89, 22, 37, 101, 77, 56, 16, 19]
    my_list5[1:7:2] = [36, 33, 202]
    print(my_list5)
    
    • 1
    • 2
    • 3

    执行结果:

    [41, 36, 89, 33, 37, 202, 77, 56, 16, 19]
    
    • 1

    4、查找元素

    in 和 not in

    in:如果元素存在列表中,结果为true,反之为false

    not in:如果元素不存在列表中,结果为true,反之为false

    hero_list = ["狂铁","李白","孙膑"]
    hero = input("请选择英雄:")
    if hero in hero_list:
        print("常用英雄")
    else:
        print("不在英雄池中")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    执行结果:

    请选择英雄:李白
    常用英雄
    请选择英雄:虞姬
    不在英雄池中
    
    • 1
    • 2
    • 3
    • 4

    index()

    index()方法:返回某个元素在列表中第一次出现的索引下标,如果元素不存在则报错

    my_list6 = [41, 63, 89, 22, 37, 101, 77, 56, 16, 19,101]
    print(my_list6.index(101))
    #在指定区间中查找(左闭右开区间)
    print(my_list6.index(37,2,7))
    
    • 1
    • 2
    • 3
    • 4

    执行结果:

    5
    4
    
    • 1
    • 2

    count()

    count()方法:返回某个元素在列表中出现的次数

    my_list6 = [41, 63, 16, 22, 37, 101, 16, 56, 16, 19,101]
    print(my_list6.count(16))
    print(my_list6.count(1))
    
    • 1
    • 2
    • 3

    执行结果:

    3
    0
    
    • 1
    • 2
  • 相关阅读:
    动态规划算法的题到底应该怎么做?思路教给你自己写
    Linux ubuntu 服务器部署详细教程
    亚马逊云科技Build On2022技能提升计划第二季——揭秘出海爆款新物种背后的黑科技
    嵌入式 - 瑞萨宣讲
    从零开始Blazor Server(8)--增加菜单以及调整位置
    鸿蒙Next怎么升级,有便捷的方法?
    开源相机管理库Aravis学习(一)——安装
    荣威 D7 正式亮相,新能源江湖再战
    关于 打开虚拟机出现“...由VMware产品创建,但该产品与此版VMwareWorkstateion不兼容,因此无法使用” 的解决方法
    [C#,Unity面试题]C#前三题是字节跳动面试问题 Unity主要是关于Shader的面试题(一)
  • 原文地址:https://blog.csdn.net/wpc2018/article/details/125613209