• python-基础(4)-list


    python专栏地址
    上一篇:python-基础(3)-字符串操作
    下一篇:python-基础(5)-字典操作

    List结构

    本节将学习以下内容

    • list初识
    • list的操作

    一、List初识

    1、创建

    • 直接创建
    # 例1
    gufen = []
    gufen
    
    • 1
    • 2
    • 3
    []
    
    • 1
    # 例2
    gufen = [1, 2, "gufen"]
    gufen
    
    • 1
    • 2
    • 3
    [1, 2, 'gufen']
    
    • 1
    • 通过list([])创建

    即给list()函数中传入一个[]

    # 例2
    gufen = list()
    type(gufen)
    
    • 1
    • 2
    • 3
    list
    
    • 1
    gufen = list([1, 2, 3, 4])
    type(gufen)
    
    • 1
    • 2
    list
    
    • 1
    gufen
    
    • 1
    [1, 2, 3, 4]
    
    • 1
    gufen[3:100]
    
    • 1
    [4]
    
    • 1

    二、List的操作

    1、求长度

    • 函数len()
    gufen = list([1, 2, 3, 4])
    len(gufen)
    
    • 1
    • 2
    4
    
    • 1

    2、+ 和 *

    • +:在一个列表的后面续上另外一个list
    a = [123, 456]
    b = ["gufeng", "de", "world"]
    c = a + b
    c
    
    • 1
    • 2
    • 3
    • 4
    [123, 456, 'gufeng', 'de', 'world']
    
    • 1
    type(c)
    
    • 1
    list
    
    • 1
    • *:这里说的乘是乘以常数n,也就是把原来的list重复n遍
    a * 3
    
    • 1
    [123, 456, 123, 456, 123, 456]
    
    • 1

    3、元素引用与切分

    python的索引切分,a[m:n]列举出来的是从a[m]到a[n-1]的数

    • 引用
    a = [1, 2, 3, 4, 5, 6, 7, 8]
    
    • 1
    a[1]
    
    • 1
    2
    
    • 1
    a[-1]  # -1表示倒数第一个
    
    • 1
    8
    
    • 1
    a[-2]
    
    • 1
    7
    
    • 1
    • 切分
    a[1:3]  # 表示a[1],a[2]
    
    • 1
    [2, 3]
    
    • 1
    a[0:]  # 后面的全部元素
    
    • 1
    [1, 2, 3, 4, 5, 6, 7, 8]
    
    • 1
    a[0:1]
    
    • 1
    [1]
    
    • 1
    a[:-1]
    
    • 1
    [1, 2, 3, 4, 5, 6, 7]
    
    • 1

    4、替换

    • 这里的替换是赋值性的替换
    a = [1, 2, 3, 4, 5, 6, 7, 8]
    
    • 1
    a[0] = 789
    a
    
    • 1
    • 2
    [789, 2, 3, 4, 5, 6, 7, 8]
    
    • 1
    a[:] = ["gufen", "world"]
    a
    
    • 1
    • 2
    ['gufen', 'world']
    
    • 1

    5、删除部分元素

    • 操作语句: del a[]
    a = [1, 2, 3, 4, 5, 6, 7, 8]
    
    • 1
    del a[0]  # 定点删除
    a
    
    • 1
    • 2
    [2, 3, 4, 5, 6, 7, 8]
    
    • 1
    del a[3:]  # 范围性删除,3及后面的全部
    
    • 1
    a
    
    • 1
    [2, 3, 4]
    
    • 1

    6、指定元素在list中吗

    • 操作语句 A in B 。A在B中吗
    a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
    8 in a
    
    • 1
    • 2
    True
    
    • 1
    8 not in a
    
    • 1
    False
    
    • 1
    gufen = "gufen de world"
    "gufen" in gufen
    
    • 1
    • 2
    True
    
    • 1
    type = [30001, 30002, 30003]
    for item in type:
        type = str(item)
        if type not in ["30001", "30002"]:
            type = "other"
        print(type)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    30001
    30002
    other
    
    • 1
    • 2
    • 3
    x = 1
    y = 3
    z = 4
    z1 = [x, y, z]
    sum(z1)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    8
    
    • 1

    7、list嵌套

    • 这里要注意的是,list的嵌套结构,其引用方式,就像其他语言的多维数组一样
    • 已经几次提到数组了,这里单独解释以下什么是数组。数组其实就是线性代数中的向量。没有嵌套的list就相当于矩阵中的列向量,嵌套的list相当与一个向量组。下面是一个4*5的数组,就是4行5列的。

    \begin{matrix} a & b & c & d & e\ f & g & h & i & j \ k & l & m & n & o \ p & q & r & s & t \end{matrix}

    a = [1, 2, [3, 4]]
    
    • 1
    a
    
    • 1
    [1, 2, [3, 4]]
    
    • 1
    a[2]
    
    • 1
    [3, 4]
    
    • 1
    a[2][0]
    
    • 1
    3
    
    • 1
    a[2][1]
    
    • 1
    4
    
    • 1

    8、计数与定位

    • count()函数,统计出现的次数
    • index(),获得索引值
    tang = ["apple", "banana", "apple", "apple", "banana"]
    tang.count("banana")
    
    • 1
    • 2
    2
    
    • 1
    tang = ["apple", "1", "2", "3", "4", "5"]
    tang.index("apple")
    
    • 1
    • 2
    0
    
    • 1
    # 没有的元素找不到
    tang.index("banana")
    
    • 1
    • 2
    ---------------------------------------------------------------------------
    
    ValueError                                Traceback (most recent call last)
    
    Cell In[39], line 2
          1 # 没有的元素找不到
    ----> 2 tang.index("banana")
    
    
    ValueError: 'banana' is not in list
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    9、list在数据结构中的基本操作

    • 添加函数 append() 不限制添加元素的树结构

    • 指定位置插入元素 insert(n,list) ,

    • 删除指定元素remove(list)

    • 弹出指定元素pop()

    • list排序sort()

    • 反转reverse()

    • 添加一个普通元素

    gufen = []
    gufen.append("gufen")
    gufen
    
    • 1
    • 2
    • 3
    ['gufen']
    
    • 1
    • 添加了一个列表
    gufen.append(["gufen", "world"])
    gufen
    
    • 1
    • 2
    ['gufen', ['gufen', 'world'], ['gufen', 'world']]
    
    • 1
    • 插入
    gufen.insert(2, "gufen")  # 指定位置插入
    gufen
    
    • 1
    • 2
    ['gufen', ['gufen', 'world'], 'gufen', ['gufen', 'world']]
    
    • 1
    gufen.insert(0, "43434")
    gufen
    
    • 1
    • 2
    ['43434', 'gufen', ['gufen', 'world'], 'gufen', ['gufen', 'world']]
    
    • 1
    • 删除
      remove
    # 默认去掉这个元素的第一个
    gufen.remove(['gufen', 'world'])
    gufen
    
    • 1
    • 2
    • 3
    ['43434', 'gufen', 'gufen', ['gufen', 'world']]
    
    • 1
    • 弹出
    gufen.pop()  # 默认弹出的是list的最后一个
    
    • 1
    ['gufen', 'world']
    
    • 1
    # 弹出后会改变原来的list。
    gufen.pop(1) 
    
    • 1
    • 2
    'gufen'
    
    • 1
    gufen
    
    • 1
    ['43434', 'gufen']
    
    • 1
    • 排序
      • 自己变还是没变,没变的一种是直接调用sort(),不变的是sorted(list)
    gufen = [1, 3, 5, 6, 2, 57, 32]
    gufen.sort()
    gufen
    
    • 1
    • 2
    • 3
    [1, 2, 3, 5, 6, 32, 57]
    
    • 1
    gufen = [1, 3, 5, 6, 2, 57, 32]
    gufen2 = sorted(gufen)
    gufen2
    
    • 1
    • 2
    • 3
    [1, 2, 3, 5, 6, 32, 57]
    
    • 1
    • reverse取反函数
    gufen2.reverse()
    gufen2
    
    • 1
    • 2
    [57, 32, 6, 5, 3, 2, 1]
    
    • 1

    python专栏地址
    上一篇:python-基础(3)-字符串操作
    下一篇:python-基础(5)-字典操作
    点个关注呗 🤪😝

  • 相关阅读:
    un7.27:redis数据库常用命令。
    【postgresql】数据表id自增与python sqlachemy结合实例
    保姆式教你如何用navicat导入Excel文件到MySQL数据库实操
    SpringMVC之全局异常管理
    prim算法求解最小生成树 C++实现
    推荐一个在线视频学习、在线试题练习、在线同步考试开源系统
    如何进入互联网行业,成为产品经理?没有项目经验如何转行当上产品经理?
    Python异常处理 Python文件操作
    程序常见错误的类型等_作业
    Xilinx 7系列 FPGA硬件知识系列(八)——Xilinx FPGA的复位
  • 原文地址:https://blog.csdn.net/qq_38870935/article/details/137978806