• Python列表


    目标

    • 列表的应用场景
    • 列表的格式
    • 列表的常用操作
    • 列表的循环遍历
    • 列表的嵌套应用

    一、列表的应用场景

    思考:有一个人的姓名(TOM)怎么书写存储程序?
    答:变量。
    思考︰如果一个班级100位学生,每个人的姓名都要存储,应该如何书写程序?声明100个变量吗?
    答:列表即可,列表一次性可以存储多个数据。

    二、列表的格式

    [数据1,数据2,数据3,数据4...]
    

    列表可以一次性存储多个数据,且可以为不同数据类型

    三、列表的常用操作

    列表的作用是一次性存储多个数据,程序员可以对这些数据进行的操作有:增,删改,查

    3.1 查找

    3.1.1 下标

    name_list=['Tom','Lily','Rose']
    print(name_list[0])	#Tom
    print(name_list[1])
    print(name_list[2])
    

    3.1.2 函数

    • index():返回指定函数所在位置的下标

    1.语法

    列表序列.index(数据,开始位置下标,结束位置下标)
    
    1. 体验

      name_list=['Tom','Lily','Rose']
      
      print(name_list.index('Lily',0,2))
      

      注意:如果查找的数据不存在则报错

    • count(): 统计指定数据在当前列表中出现的次数
    name_list=['Tom','Lily','Rose']
    print(name_list.count('Lily'))
    
    • len():访问列表长度,即列表中数据的个数。
    name_list=['Tom','Lily','Rose']
    
    print(len(name_list))
    

    3.1.3 判断是否存在

    • in: 判断指定数据在某个列表序列,如果在返回True,否则返回False
    name_list=['Tom','Lily','Rose']
    
    #结果:True
    print('Lily' in name_list)
    #结果:False
    pritn('Lilys'in name_list)
    
    
    • not in: 判断指定数据不在某个列表序列,如果不在返回True,否则返回False
    name_list=['Tom','Lily','Rose']
    #结果:False
    print('Lily' not in name_list)
    #结果:True
    print('Lilys' not in name_list)
    
    • 案例:

    需求:查找用户输入的名字是否已经存在

    name_list=['Tom','Lily','Rose']
    
    name=input('请输入要搜索的名字:')
    
    if name in name_list:
        print(f'您输入的名字是{name},名字已存在')
    else:
        print(f'你输入的名字是{name},名字不存在')
    

    3.2 增加

    作用:增加指定数据到列表中

    • append(): 列表结尾追加数据
    1. 语法
    列表序列.append(数据)
    
    1. 体验
    name_list=['Tom','Lily','Rose']
    
    name_list.append('xiaoming')
    #结果:['Tom','Lily','Rose','xiaoming']
    print(name_list)
    

    在这里插入图片描述

    列表追加数据的时候,直接在源列表里面追加了指定数据,即修改了原列表,故列表为可变类型数据

    3.注意点:

    如果append()追加的数据是一个序列,则追加整个序列到列表

    name_list=['Tom','Lily','Rose']
    
    name_list.extend('xiaoming')
    print(name_list)
    name_list.append(['xiaoming1','xiaohong'])
    #结果:['Tom','Lily','Rose',['xiaoming1','xiaohong']]
    print(name_list)
    
    • extend():列表结尾追加数据,如果数据时一个序列,则将这个序列的数据逐一添加到列表

    1.语法

    列表序列.extend(数据)
    

    2.体验

    ​ 2.1 单个数据

    name_list=['Tom','Lily','Rose']
    
    name_list.extend('xiaoming')
    print(name_list)
    #结果:['Tom', 'Lily', 'Rose', 'x', 'i', 'a', 'o', 'm', 'i', 'n', 'g']
    

    2.2 序列数据

    name_list=['Tom','Lily','Rose']
    
    name_list.extend(['xiaoming','xiaohong'])
    print(name_list)
    #结果:['Tom', 'Lily', 'Rose', 'xiaoming', 'xiaohong']
    
    • insert(): 指定位置新增数据

    1.语法

    列表序列.insert(位置下标,数据)
    
    1. 体验
    name_list=['Tom','Lily','Rose']
    
    name_list.insert(1,'xiaoming')
    print(name_list)
    #结果['Tom', 'Lily', 'Rose', 'xiaoming', 'xiaohong']
    

    3.3 删除

    • del

    1.语法;

    del 目标
    
    1. 快速体验

      2.1 删除列表

      name_list=['Tom','Lily','Rose']
      del name_list
      print(name_list)
      #结果:NameError: name 'name_list' is not defined
      

    2.2 删除指定数据

    name_list=['Tom','Lily','Rose']
    del name_list[0]
    print(name_list)
    #结果:['Lily', 'Rose']
    
    • pop(): 删除指定下标的数据(默认为最后一个),并返回数据
    1. 语法
    列表序列.pop(下标)
    
    1. 体验
    name_list=['Tom','Lily','Rose']
    del_name=name_list.pop(1)
    print(del_name)
    #结果:Lily
    print(name_list)
    #结果:['Tom', 'Rose']
    
    • clear(): 清空列表

      name_list=['Tom','Lily','Rose']
      
      name_list.clear()
      print(name_list)
      #结果:[]
      

    3.4 修改

    • 修改指定下表数据
    name_list=['Tom','Lily','Rose']
    
    name_list[0]='aaa'
    #结果;['aaa', 'Lily', 'Rose']
    print(name_list)
    
    • 逆置:reverse()
    num_list=[1,5,2,3,6,8]
    
    num_list.reverse()
    # 结果:[8, 6, 3, 2, 5, 1]
    print(num_list)
    
    • 排序
    1. 语法
    列表序列.sort(key=None,reversr=False)
    

    注意:reverse表示排序规则,reverse=Ture降序,reverse=False 升序(默认)

    1. 体验
    num_list=[1,5,2,3,6,8]
    
    num_list.sort()
    #结果:[1, 2, 3, 5, 6, 8]
    print(num_list)
    

    3.5 复制

    函数:copy()

    name_list=['Tom','Lily','Rose']
    
    name_li2=name_list.copy()
    # 结果:['Tom', 'Lily', 'Rose']
    print(name_li2)
    

    四、列表的循环遍历

    需求:依次打印列表中的各个数据

    4.1 while

    • 代码
    name_list=['Tom','Lily','Rose']
    
    i=0
    
    while i<len(name_list):
        print(name_list[i])
        i+=1
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nGY1inT6-1599721723387)(C:UsersUserAppDataRoamingTypora	ypora-user-imagesimage-20200910144937935.png)]

    4.2 for

    • 代码
    name_list=['Tom','Lily','Rose']
    
    for i in name_list:
        print(i)
    


    五、列表嵌套

    所谓列表嵌套指的就是一个列表里面包含了其他的子列表

    应用场景:要存储班级一、二、三,三个班级的学生姓名,且每个班级的学生姓名在一个列表

    name_list=[['小明','小红','小绿'],['Tom','Lily','Rose'],['张三','李四','王五']]
    

    思考:如何查找到数据‘李四’?

    # 第一步 按下标查找到李四所在的列表
    print(name_list)
    #第二步 从李四所在的列表里面,再按下标找到数据李四
    print(name_list[2][1])
    
  • 相关阅读:
    装饰器实例
    生成器、迭代器脚本实例
    魔法方法和属性
    随机生成验证码
    认证客户端的链接合法性
    将socket通信实现多进程
    线程锁模拟抢票系统
    ntp时间服务器
    蛇形串---------
    两年内计划
  • 原文地址:https://www.cnblogs.com/James-221/p/13647430.html
Copyright © 2020-2023  润新知