zoukankan      html  css  js  c++  java
  • python3 基础数据类型之列表及其操作方法

    1、列表的概念

      list是一种用有序可重复的集合,列表中元素的类型可以 不相同,它支持数字,字符串甚至可以包含列表,列表是写在方括号 [] 之间、用逗号 , 分隔开的元素列表,可以随时添加和删除其中的元素。

    2、访问列表中的值

      我们可以使用 下标索引 来访问列表中的值,索引值以 0 为开始值,-1 为从末尾的开始位置

    list = [1,2,3,4,5,6,7,8]
    print(list[0])
    --------------------------------------------
    1
    
    print(list[-1])
    --------------------------------------------
    8
    
    print(list[3])
    --------------------------------------------
    4

    print([-2])
    --------------------------------------------
    7

    3、更新列表

      可以对列表的数据项进行 修改或更新 ,也可以使用 append() 方法来 添加 列表项,用 insert()方法来插入。

    list = [1, 2, 3, 4, 5, 6, 7, 8]
    list[2] = 100                                      #更新
    print('更新后的第三个元素为:',list[2])
    -----------------------------------------------------
    更新后的第三个元素为:100
    
    
    list.append(9)                                    #追加
    print(list)
    -----------------------------------------------------
    [1, 2, 100, 4, 5, 6, 7, 8, 9]
    
    
    
    list.insert(3,'从这里插入')                         #插入
    print(list)
    -----------------------------------------------------
    [1,2,100,'从这里插入',4,5,6,7,8,9]

    4、列表的删除

      列表的删除语句有del语句、remove语句、pop语句和clear语句。

    list = [1,2,3,4,5,6,7,8]
    del list[2]                        #按照索引删除
    print(list)
    --------------------------------------------
    [1,2,4,5,6,7,8]
    
    
    list.remove('8')
    print(list)                        #按照元素名删除
    --------------------------------------------
    [1,2,4,5,6,7]
    
    
    list.pop
    print(list)                        #删除最后一个元素
    --------------------------------------------
    [1,2,4,5,6]                                
    
    
    list.clear
    print(list)                        #清空列表
    --------------------------------------------
    []

    5、列表脚本操作符

     列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。如下所示: 

    # 长度
    print(len([1, 2, 3]))
    ------------------------------------
    3
    
    # 组合
    print([1, 2, 3] + [4, 5, 6])
    ------------------------------------
    [1,2,3,4,5,6]
    
    # 重复
    print([1, 2, 3] * 2)
    ------------------------------------
    [1,2,3,1,2,3]
    
    # 判断
    print(2 in [1, 2, 3])
    ------------------------------------
    True
    
    # 迭代
    for x in [1, 2, 3]:
        print(x, end="")
    ------------------------------------
    123

    6、切片

      首先先讲下 切片的公式。 模式[start : end : step]
      1.start 是切片的起始位置不填默认为0
      2.end 是切片的截至位置不填默认为列表的长度
      3.step是切片的跨度,也就是切片跳跃的长度,官方说法是步长,如果不指定值就是默认是1

      切片取值:

    alist=[1,2,3,4,5,6,7,8,9]
    print(alist[::])    #打印全部
    print(alist[:])    #打印全部
    print(alist[3::2])   #起始位置为3,截至位置为默认列表长度,步长为2,
                                #打印出来我猜不错的话应该是取的奇数位置。
    print(alist[1:4])  #取列表位置 1 到4 (记住列表位置是从0开始)
    print(alist[::-1]) # 这个要注意了, 这个比较高级 是对列表进行反转,简单吧
    print(alist[1:100])  # 如果 截至位置大于列表长度取列表的长度。
    print(alist[100:])   # 如果 起始位置大于列表长度取值为空
    ---------------------------------------------------------------------
    [1, 2, 3, 4, 5, 6, 7, 8, 9]
    [1, 2, 3, 4, 5, 6, 7, 8, 9]
    [4, 6, 8] [2, 3, 4]
    [9, 8, 7, 6, 5, 4, 3, 2, 1]
    [2, 3, 4, 5, 6, 7, 8, 9]
    []

      **注意:以上所有操作都不会改变原列表,会重新创建一个列表。

      切片赋值:

    alist=[1,2,3,4,5,6,7,8,9]
    
    alist[len(alist):]=[10]                     #在尾部增加列表
    
    alist[:0]=[0]                                  #在开始位置前增加列表
    
    alist[2:2]=[100]                            #在3位置插入列表     
    
    alist[3:4]                                      #打印的结果为 [4]  
    
    alist[3,3]=[]
    
    alist[:8]=[12]                               #初始位置到7 都变成【12】
    print(alist)
    alist[2:]=[13]                               #从第三个位置到结尾 变成【13】
    
    alist[::2]=[0]*5                            #隔一个进行修改,
    print(alist)
    -------------------------------------------------------------------
    [0, 2, 0, 4, 0, 6, 0, 8, 0]                #注意要修改的数量要和右边的等号相等 如果不等就报错 
    
    alist[::2]=[0]*4
    print(alist)
    -------------------------------------------------------------------
    #ValueError: attempt to assign sequence of size 4 to extended slice of size 5
    
    alist[:3]=[]                                 #删除前三个元素
    
    del alist[:3]                                 #用del 删除前三个
    
    del alist[::2]
    print(alist)    #奇数位置都要删除
    -------------------------------------------------
    [2, 4, 6, 8]
  • 相关阅读:
    Android WebView常见问题及解决方案汇总【很全很实用】
    adb shell dumpsys meminfo [packagename] 输出内容的含义
    Android关于RAM、ROM、SD卡以及各种内存的区别
    每天5分钟玩转容器技术 整理目录
    ubuntu16.04基本设置
    ubuntu镜像快速下载
    vSphere 5.5.0 U1配置问题:主机的快速统计信息不是最新的(转载)
    Vcenter server 5.5安装部署
    SQL Server 2008 R2 数据库安装
    Centos7.3搭建DNS服务器--BIND
  • 原文地址:https://www.cnblogs.com/490144243msq/p/11032001.html
Copyright © 2011-2022 走看看