• python常用数据结构-list列表


    list 列表

    列表的定义与使用

    1、列表是有序的可变元素的集合,使用中括号 [ ] 包围,元素之间用逗号分隔

    2、列表是动态的,可以随时扩展和收缩

    3、列表是异构的,可以同时存放不同类型的对象

    4、列表中允许出现重复元素

    创建列表:

    通过构造函数创建

    中括号创建并填充

    列表推导式

     

    1. # 1、通过构造函数
    2. a = list()
    3. print(type(a))
    4. # 2、中括号填充元素[]
    5. b = [1, 2, 3, "happy"]
    6. print(b)
    7. print(type(b))
    8. # 3、 列表推导式
    9. c = [i for i in range(1, 3)]
    10. print(c)
    11. print(type(c))

     

    列表使用:索引

    --默认正向索引,编号从0开始。

    --支持反向索引,编号从-1开始

    1. # 列表索引
    2. a = [1, 2, 3, 4, "happy"]
    3. # 正向索引,从0开始
    4. print(a[0])
    5. print(a[1])
    6. # 反向索引。从-1开始
    7. print(a[-1])
    8. print(a[-2])

     

    列表使用:切片[start:stop:step]

    --star值:指示开始索引值,如果没有指定,则默认开始值为0

    --stop值:指示到哪个索引值结束,但不包括这个结束索引值,如果没有指定,则取列表允许的最大索引值

    --step值:步长值指示每一步大小,如果没有指定,则默认步长值为1

    三个值都是可选的,非必填

    1. # 列表切片
    2. a = [1, 2, 3, 4, "happy"]
    3. print(a[1:3:1])
    4. print(a[-3:-1])
    5. print(a[::1])
    6. print(a[::2])
    7. print(a[::-1])

     

    列表使用:运算符

    --重复:使用 “x” 乘号运算符,可以重复生成列表元素

    --合并:使用 “+” 加号运算符,可以将两个列表合二为一

    1. # 列表使用:运算符
    2. # 1、 乘号
    3. a = [1]
    4. print(a * 5)
    5. # 2、加号
    6. a = [1, 2, 3]
    7. b = [4, 5, 6]
    8. print(a + b)

     

    列表使用:成员检测

    in: 检查一个对象是否在列表中,如果在则返回True,否则返回False.

    not in:检查一个列表是否不包含某个元素。如果不在返回True,否则返回False.

    1. # 列表使用:成员检测
    2. # in: 检查一个对象是否在列表中,如果在则返回True,否则返回False.
    3. a = [1, 2, 3]
    4. print(1 in a)
    5. print(10 in a)
    6. # not in:检查一个列表是否不包含某个元素。如果不在返回True,否则返回False.
    7. a = [1, 2, 3]
    8. print(1 not in a)
    9. print(10 not in a)

     列表方法

    列表方法 append()

    append(item):将一个对象item添加到列表的末尾。

    入参:对象item

    返回:None

    1. # append()
    2. # append(item):将一个对象item添加到列表的末尾。
    3. # 入参:对象item
    4. # 返回:None
    5. a = [1]
    6. a.append(2)
    7. print(a)
    8. a.append('happy')
    9. print(a)

     列表方法extend()

    extend(iterable):将一个可迭代对象的所有元素,添加到列表末尾。

    入参:可迭代对象iterable

    返回:None

    1. # 列表方法extend()
    2. # extend(iterable):将一个可迭代对象的所有元素,添加到列表末尾。
    3. # 入参:可迭代对象iterable
    4. # 返回:None
    5. a = [1]
    6. a.extend('happy')
    7. print(a)

     

    列表方法insert()

    insert(index,item):将一个对象插入到指定的索引位置

    入参:索引值index,一个对象item

    返回:None

    原索引位置及后面的元素后移一位

    1. # 列表方法insert()
    2. # insert(index,item):将一个对象插入到指定的索引位置
    3. # 入参:索引值index,一个对象item
    4. # 返回:None
    5. # 原索引位置及后面的元素后移一位
    6. a = [1, 2]
    7. a.insert(1, 3)
    8. print(a)

     

    列表方法pop()

    pop(index)或pop()

    弹出并返回所指定索引的元素

    入参:索引值index.可不传

    返回:指定索引的元素

    返回:未指定索引则返回末尾元素

    如果索引值不正确,或者列表已经为空,则引发IndexError错误

     

    1. # 列表方法pop()
    2. # pop(index)或pop()
    3. # 弹出并返回所指定索引的元素
    4. # 入参:索引值index.可不传
    5. # 返回:指定索引的元素
    6. # 返回:未指定索引则返回末尾元素
    7. # 如果索引值不正确,或者列表已经为空,则引发IndexError错误
    8. a = [1, 2, 3]
    9. b = a.pop(1)
    10. print(a)
    11. print(b)
    12. c = a.pop()
    13. print(a)
    14. print(c)

     

    列表方法remove()

    remove(item)

    移除列表中第一个等于item的元素

    入参:指定元素item

    返回:None

    目标元素必须存在,否则会报ValueError

     

    1. # 列表方法remove()
    2. # remove(item)
    3. # 移除列表中第一个等于item的元素
    4. # 入参:指定元素item
    5. # 返回:None
    6. # 目标元素必须存在,否则会报ValueError
    7. a = [1, 2, 1, 3]
    8. print(a.remove(1))
    9. print(a)
    10. a.remove(2)
    11. print(a)

    列表方法sort()

    sort(key=None, reverse=False)

    对列表进行原地排序,只使用

    入参:支持2个关键字参数:

    key:指定带有一个参数的函数,用于从每个列表元素中提取比较键。

    reverse:默认值为False表示升序,为True表示降序

    返回:None

     

    1. # 列表方法sort()
    2. # sort(key=None, reverse=False)
    3. # 对列表进行原地排序,只使用<来进行各项间比较
    4. # 入参:支持2个关键字参数:
    5. # key:指定带有一个参数的函数,用于从每个列表元素中提取比较键。
    6. # reverse:默认值为False表示升序,为True表示降序
    7. # 返回:None
    8. # 不传参数,默认升序,数字从小到大排列
    9. a = [1, 4, 2, 3, 6]
    10. a.sort()
    11. print(a)
    12. # 指定key=len,按元素的长度排列
    13. b = ['happy', 'root', 'lucky', 'a']
    14. b.sort(key=len)
    15. print(b)
    16. # 指定reverser=True
    17. a.sort(reverse=True)
    18. print(a)

     

    列表方法reverse()

    reverser():将列表中的元素顺序反转

    参数:无

    返回:None 

    反转只是针对索引值,元素之间不相互比较

    1. # 列表方法reverse()
    2. # reverser():将列表中的元素顺序反转
    3. # 参数:无
    4. # 返回:None
    5. # 反转只是针对索引值,元素之间不相互比较
    6. a = [1, 2, 5, 4, 6, 7, 'happy']
    7. a.reverse()
    8. print(a)

     

    列表嵌套

    嵌套列表是指在列表里存在列表

    列表的常用方法都适用于嵌套列表

    1. # 列表嵌套
    2. # 嵌套列表是指在列表里存在列表
    3. # 列表的常用方法都适用于嵌套列表
    4. # 嵌套列表
    5. a = [[1, 2], ['happy', 'lucky']]
    6. print(a[1])
    7. print(a[1][1])

     

    列表推导式

    列表推导式是指循环创建列表,相当于for循环创建列表的简化版

    语法:[x for x in a if x >1 ]

     

    1. # 列表推导式
    2. # 列表推导式是指循环创建列表,相当于for循环创建列表的简化版
    3. # 语法:[x for x in a if x >1 ]
    4. a = [0, 1, 2, 3, 4]
    5. b = [x for x in a if x > 1]
    6. print(b)

     

  • 相关阅读:
    ssm+vue+elementUI基于微信小程序的电动电动汽车车智能充电桩服务平台-计算机毕业设计
    awoo‘s Favorite Problem(优先队列)
    Ocr之PaddleOcr模型训练
    HarmonyOS USB DDK助你轻松实现USB驱动开发
    网络类型(通信分类)
    算法篇之(排序)
    React Hooks使用经验以及技巧
    社交网络中的身份和搜索 论文阅读
    滚雪球学Java(09-1):Java中的算术运算符,你真的掌握了吗?
    汽车级瞬态抑制TVS二极管优势特性及型号大全
  • 原文地址:https://blog.csdn.net/weixin_50464533/article/details/126471901