• python列表


    list_python

    • 列表(list)是一种可变的有序数据结构,可以存储任意类型的元素。列表中的元素可以通过索引访问,索引从0开始。可以使用索引来获取、修改或删除列表中的元素。
    • 列表还支持一些常见的操作,如添加元素、合并列表、切片等。列表是 Python 中常用的数据结构之一,可以灵活地处理和操作数据。

    1.列表的创建

    • 列表用方括号 [] 表示,元素之间用逗号分隔。
    • 创建方式:
    1.使用中括号
    	lst = ['美羊羊','沸羊羊']
    2.调用内置函数list()
    	lst2 = list(['美羊羊','沸羊羊'])
    3.空列表
    	lst3 = []
    	lst4 = list()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    2.列表的特点

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

    3.列表的查询操作

    • 获取列表中指定元素的索引
    如查列表中存在N个相同元素,只返回相同元素中的第一个元素的索引  例:lst.index('美羊羊')
    如果查询的元素在列表中不存在,则会抛出ValueError
    还可以在指定的start和stop之间进行查找(包括start,不包括end) 例:lst.index(value,start,end)
    
    • 1
    • 2
    • 3
    • 获取列表中的单个元素
    正向索引从0到N-1  例:lst[0]
    逆向索引从-N到-1  例:lst[-N]
    指定索引不存在,抛出indexError
    
    • 1
    • 2
    • 3
    • 获取列表中的多个元素(切片操作)
    语法:列表名[start:stop:step]
    切片的结果:原列表片段的拷贝
    切片的范围:[start,stop)
    step默认为1:简写为[start,stop)
    step为正数:[:stop:step]->切片的第一个元素默认为列表的第一个元素->从start开始往后切
    		   [start:step]->切片的最后一个元素默认是列表的最后一个元素->从start开始往后切
    step为负数:[:stop:step]->切片的第一个元素默认为列表的最后一个元素->从start开始往后切
    	       [start:step]->切片的最后一个元素默认是列表的第一个元素->从start开始往后切
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 判断指定元素是否存在列表中
    元素  in   列表名
    元素  not in  列表名
    
    • 1
    • 2
    • 列表元素的遍历
    for 迭代变量 in 列表名:
    	操作
    
    • 1
    • 2

    4.列表的添加操作

    方法/其他操作描述
    append()在列表的末尾添加一个元素
    extend()在列表的末尾至少添加一个元素
    insert()在列表的任意位置添加一个元素
    切片在列表的任意位置添加至少一个元素
    lst = [10, 20, 30]
    
    lst.append(100)
    print(lst)  # lst = [10, 20, 30, 100](地址ip没有改变)
    
    lst2 = ['hello', 'world']
    '''
    lst.append(lst2)  # 将lst2作为一个元素添加到列表的末尾
    print(lst)  # [10, 20, 30, 100, ['hello', 'world']]
    '''
    
    lst.extend(lst2)  # 向列表的末尾一次性添加多个元素
    print(lst)  # [10, 20, 30, 100, 'hello', 'world']
    
    lst.insert(1, 90) # 在第一个位置插入90
    print(lst)  # [10, 90, 20, 30, 100, 'hello', 'world']
    
    lst3 = [True, False, 'hello']
    lst[1:] = lst3
    print(lst)   # [10, True, False, 'hello']
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    5.列表的删除操作

    方法/其他操作描述
    remove()一次删除一个元素。重复元素只删除第一个。元素不存在抛出ValueError。
    pop()删除一个指定索引位置上的元素,指定索引不存在抛出IndexError。不指定索引,删除列表中最后一个元素
    切片一次至少删除一个元素
    clear()清空列表
    del删除列表
    lst = [10, 20, 30, 40, 50, 60, 30]
    
    lst.remove(30);
    print(lst)  # [10, 20, 40, 50, 60, 30]
    
    lst.pop(1)  # [10, 40, 50, 60, 30]
    print(lst)
    
    #lst.pop(5) # 指定位置不存在,pop index out of range
    
    lst.pop()
    print(lst)  # [10, 40, 50, 60]
    
    new_list = lst[1:3]
    print(new_list)  # 产生新列表对象[40, 50]
    
    # 不产生新的列表对象,而实删除原列表中的内容
    lst[1:3] = []
    print(lst)  # [10, 60]
    
    lst.clear()
    print(lst)  # []
    
    del lst
    #print(lst) # name 'lst' is not defined
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    6.列表的修改操作

    • 为指定索引的元素赋予一个新值
    • 为指定的切片赋予一个新值
    lst = [10, 20, 30, 40]
    
    lst[2] = 100
    print(lst)  # [10, 20, 100, 40]
    
    lst[1:3] = [300, 400, 500, 600]
    print(lst)  # [10, 300, 400, 500, 600, 40]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    7.列表元素的排序操作

    • 两种常用方法
    • 方法1:调用sort()方法,列表中的所有元素默认按照从小到大的顺序进行排序,可以指定reverse=True,进行降序/升序(不产生新列表)
    • 方法2:调用内置函数sorted(),可以指定reverse=True,进行降序/排序,原列表不发生改变(产生新列表)
    lst = [20, 40, 10, 98, 54]
    
    lst.sort()
    print(lst)  # [10, 20, 40, 54, 98] 地址id不变
    
    lst.sort(reverse=True)
    print(lst)  # [98, 54, 40, 20, 10]
    
    lst1 = [20, 40, 10, 98, 54]
    
    new_list = sorted(lst1)
    print(new_list)  # [10, 20, 40, 54, 98] 地址id改变
    
    new_list1 = sorted(lst1, reverse=True)
    print(new_list1)  # [98, 54, 40, 20, 10] 地址id改变
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    8.列表生成式

    语法格式:[i(表示列表元素的表达式) for i(自定义变量) in range(1, 10)(可迭代对象)]
    
    • 1
    lst = [i for i in range(1, 10)]
    print(lst)  # [1, 2, 3, 4, 5, 6, 7, 8, 9]
    
    # 列表中的元素为:2 4 6 8 10
    lst2 = [i * 2 for i in range(1, 6)]
    print(lst2)  # [2, 4, 6, 8, 10]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    BP算法的实现_MATLAB学习笔记2
    【玩机】如何修改iPhone充电提示音!最详细简单保姆级教程~ 学费了可替换任意音频做你的专属充电提示音!——后厂村路灯
    Python实现BS架构Flask的Web学生管理信息系统
    【算法每日一练]-图论(保姆级教程 篇3(遍历))#图的遍历 #奶牛牧场 #杂务
    卷妹带你回顾Java基础(一)每日更新Day10
    typeHandlers标签和plugins标签
    RHEL 6入门之使用 ntsysv 、chkconfig 管理服务
    12.1排序
    STM32CubeIDE报“xxx is not implemented and will always fail”解决方法
    安装MySQL
  • 原文地址:https://blog.csdn.net/weixin_45865773/article/details/132839813