• python中的列表


    为什么需要列表

    • 变量可以存储一个元素,而列表是一个“大容器”可以存储N多个元素,程序可以方便地对这些数据进行整体操作。
    • 列表相当于其它语言中的数组
    • 列表示意图
    索引-7-6-5-4-3-2-1
    数据“aaa”“222”33“haha”3.14“hello”“world”
    索引0123456

    列表的特点

    • 列表元素按顺序有序排序
    • 索引映射唯一个数据
    • 列表可以存储重复数据
    • 任意数据类型混存
    • 根据需要动态分配和回收内存

    获取列表中指定元素的索引index()

    • 如查询列表中存在N个相同元素,只返回相同元素中的第一个元素的索引
    • 如果查询的元素在列表中不存在,则会抛出ValueError
    • 还可以在指定的start和stop之间进行查找

    获取列表中的单个元素

    • 正向索引从0到N-1 例:lst[0]
    • 逆向索引从-N到-1 例:lst[-N]
    • 指定索引不存,抛出IndexError

    获取列表中的多个元素

    切片操作:列表名[start:stop:step]
    切片结果是原列表片段的拷贝。
    step默认为1,可以简写为列表名[start:stop]

    • step为正数,从start开始往计算切片
      [:stop:step]:切片的第一个元素默认是列表的第一个元素
      [start::step]:切片的最后一个元素默认是列表的最后一个元素
    • step为负数,从start开始往计算切片
      [:stop:step]:切片的第一个元素默认是列表的最后一个元素
      [start::step]:切片的最后一个元素默认是列表的第一个

    列表元素的增加操作

    方法/其它操作描述
    append()在列表的末尾添加一个元素
    extend()在列表的末尾至少添加一个元素
    insert()在列表的任意位置添加一个元素
    切片在列表的任意位置添加至少一个元素

    列表元素的删除操作

    方法/其它操作描述
    remove()一次删除一个元素;重复元素只删除第一个;元素不存在抛出ValueError
    pop()删除一个指定索引位置上的元素;指定索引不存在抛出IndexError;不指定索引,删除列表中最后一个元素
    切片一次至少删除一个元素
    claer()清空列表
    del删除列表

    列表元素的修改操作

    只是修改单个元素的话,和C语言基本一样

    lst=[1,2,3,4]
    print(lst)#[1, 2, 3, 4]
    #修改2为200
    lst[1]=200
    print(lst)#[1, 200, 3, 4]
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    修改一个切片的话

    lst = [1, 2, 3, 4]
    print(lst)  # [1, 2, 3, 4]
    # 修改2,3为200
    lst[1:3] = [200]
    print(lst)  # [1, 200, 4]
    # 将200,4修改为6,7,8,9
    lst[1:4] = [6, 7, 8, 9]
    print(lst)  # [1, 6, 7, 8, 9]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    列表元素的排序操作

    • sort()
      调用sort()方法,列表中的所有元素默认按照从小到大的顺序进行排序,可以指定reverse=True,进行降序排序。排序是在原列表上进行排序的,不会生成新列表。
    lst = [5, 6, 3, 34, 76, 23, 76]
    print('原列表:', lst, id(lst))
    
    lst.sort()  # 升序 也可以 lst.sort(reverse=False)
    print('升序:', lst, id(lst))
    
    lst.sort(reverse=True)  # 降序
    print('降序:', lst, id(lst))
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • sorted()
      调用内置函数sorted(),可以指定reverse=True,进行降序排序,原列表不发生改变。
    lst = [5, 6, 3, 34, 76, 23, 76]
    print('原列表:', lst)
    
    new_lst = sorted(lst)  # 也可以new_lst = sorted(lst, reverse=False)
    print(lst)
    print('升序', new_lst)
    
    new_lst = sorted(lst, reverse=True)
    print('降序', new_lst)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    列表生成式

    语法:
    [i*i for i in range(num1,num2)]

    lst = [i for i in range(1, 10)]
    print(lst)# [1, 2, 3, 4, 5, 6, 7, 8, 9]
    
    lst = [i*i for i in range(1, 10)]
    print(lst)# [1, 4, 9, 16, 25, 36, 49, 64, 81]
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    STM32H5开发(7)----LCD显示TOF检测数据
    节奏达人疯狂猜歌双端流量主小程序开发
    C++:stl:list的常用接口及其模拟实现
    mac苹果笔记本应用程序在哪?有什么快捷方式吗?
    《style scope》 作用域保护如何修改(组件库)子组件的样式
    在不使用PageHelper或Mybatis的情况下实现手动分页
    使用python查找指定文件夹下所有xml文件中带有指定字符的xml文件
    【bug】debug内数据正常,接口返回result为空
    Unity UGUI的Button组件的介绍及使用
    SpringBoot过滤器和拦截器
  • 原文地址:https://blog.csdn.net/gushendezhufu/article/details/126234671