• 列表相关操作


    一、列表的创建

    1、列表需要使用中括号  []  和  ,  元素之间使用英文的逗号进行分隔

    2、列表的创建方式有两种

    • 使用中括号
    • 调用内置函数list()
    #列表的创建
    #第一种方法:使用中括号
    mylist=['hello','world',98]
    print(id(mylist))
    print(type(mylist))
    print(mylist)
    #第二种方法:调用内置函数list()
    mylist2=list(['hello','world',98])
    print(id(mylist2))
    print(type(mylist2))
    print(mylist2)
    
    运算结果:
    
    2610096938048
    <class 'list'>
    ['hello', 'world', 98]
    2610096986688
    <class 'list'>
    ['hello', 'world', 98]

    二、列表的特点

    1、列表的元素按顺序有排序

    2、索引映射唯一数据

    • 顺序从0开始
    • 逆序从-1开始

    3、列表可以存储重复数据

    4、任意数据类型混存

    5、根据需要动态分配和回收内存

    三、列表的查询操作

    1、获取列表中的指定元素的索引

    • 如果列表中存在N个相同元素,只返回相同元素中的第一个元素的索引
    • 如果查询的元素在列表中不存在,则会抛出ValueError
    • 还可以在指定的start和stop之间进行查找
    #列表的查找
    mylist3=['hello','world',98,'hello']
    print(mylist3)
    print(mylist3.index('hello'))
    #rint(mylist3.index('sha'))    报错:ValueError: 'sha' is not in list
    #可以在index中指定查找范围 【a,b)
    #print(mylist3.index('hello',1,3))  报错:NameError: name 'hello' is not defined(因为在该范围内没有找到)
    print(mylist3.index('hello',1,4))
    
    运行结果:
    
    ['hello', 'world', 98, 'hello']
    0
    3

    2、获取列表中的单个元素

    正向索引从0到N-1   举例:lst[0]

    逆向索引从-N到-1    举例:lst[-N]

    指定索引不存在       抛出异常indexError

    3、获取列表中的多个元素——切片

    • 语法格式:【start : stop : step】
    • 切片操作:
    • 切片结果:原列表片段的拷贝——生成新的列表
    • 切片的范围:【start , stop)
    • step默认为1:简写为[start:stop]
    • step为正数:从start开始向后计算切片
    • step为负数:从start开始向前计算切片
    lst=[10,20,30,40,50,60,70,80]
    #start=1,stop=6,step=1
    print(lst[1:6:1])     #lst的标号从0开始,sto=6其实是第七个元素,但是不包含该数据
    
    #切片是产生了一个新的列表,可以发现两者id值不一样,说明产生了一个新的列表
    print('原列表',id(lst))
    lst2=lst[1:6:1]
    print('现列表',id(lst2))
    
    #查看默认步长
    print(lst[0:6:])  #[10, 20, 30, 40, 50, 60]可以发现默认步长为1
    #设置步长
    print(lst[1:6:2]) #[20, 40, 60]
    
    #查看默认开始位置
    print(lst[:6:])   #[10, 20, 30, 40, 50, 60]可以发现默认开始位置为0
    #设置开始位置
    print(lst[2:6:1]) #[30, 40, 50, 60]
    
    #查看默认结束位置
    print(lst[1::1])  #[20, 30, 40, 50, 60, 70, 80]可以发现默认结束位置是整个列表
    
    #全部设置默认
    print(lst[::])    #[10, 20, 30, 40, 50, 60, 70, 80]相当于对列表的一次复制
    
    #如果步长为负数-从后向前
    print(lst[::-1])  #[80, 70, 60, 50, 40, 30, 20, 10]
    print(lst[7:0:-1])#[80, 70, 60, 50, 40, 30, 20] 结尾到0但不包括0
    

      

    4、判断指定元素在列表中是否存在

    元素 in 列表名

    元素 in 列表名

    print('k' in 'kotlin')#True
    print('k' in 'python')#False
    
    lst=[10,20,'hello','python']
    
    print(10 in lst)     #True
    print(100 in lst)    #False
    
    print(10 not in lst) #False
    print(100 not in lst)#True

    5、列表元素的遍历

    #列表的遍历,用for循环
    for i in lst:
        print(i)
    
    运算结果:
    
    10
    20
    hello
    python
    

      

  • 相关阅读:
    【React Native】某个页面禁用物理返回键
    【React Native】DeviceEventEmitter监听通知及带参数传值
    转载【React Native代码】手写验证码倒计时组件
    【React Native】 中设置 APP 名称、应用图标、为安卓添加启动图
    【React Native错误集】* What went wrong: Execution failed for task ':app:installDebug'.
    【React Native错误集】Import fails with "Failed to execute 'ImportScripts' on 'WorkerGlobalScope'"
    【React Native错误集】Android error “Could not get BatchedBridge, make sure your bundle is packaged properly” on start of app
    「React Native笔记」在React的 setState 中操作数组和对象的多种方法(合集)
    【React Native】Error: Attribute application@allowBackup value=(false) from AndroidManifest.xml
    坚果云如何使用二次验证码/谷歌身份验证器/两步验证/虚拟MFA?
  • 原文地址:https://www.cnblogs.com/xiaoqing-ing/p/14974740.html
Copyright © 2020-2023  润新知