python列表的用法



  1.什么是列表
    1.列表是一種容器(用來存儲數據對象)
    2.列表能夠存儲多個數據對象 - 序列
    3.列表是一個可變序列
    4.列表中的數據元素們會有先后順序
  2.創建列表的方式
    1.使用字面值的方式創建列表
      1.創建空列表
        L = []
      2.創建非空列表

        L = [1,2,3,4]
        L = ["北京","上海","天津","重慶"]
        L = ["One",2,3.14,"4"]
        L = [1,2,[3.1,3.2,3.3],4]
        L = [
          [1,2,3,4],
          [2,3,4,5],
          [3,4,5,6]
          ]
View Code

    2.使用列表的構造函數創建列表
      1.生成空列表
        L = list() # list() 是列表的構造函數,效果等同於 []
      2.使用可迭代對象創建列表
        L = list("hello") #['h','e','l','l','o']
        L = list(range(5,10,2)) #[5,7,9]
    3.列表的運算
      1.算術運算
        +,+=,*,*=
        1. +
          作用:拼接列表

            x = [1,2,3]
           y = [4,5,6]
            z = x + y # [1,2,3,4,5,6]
View Code

        2. +=
          作用:用於將右側的可迭代對象的數據追加到原列表中

            1.
              x = [1,2,3]
              x += [4,5,6] # x = [1,2,3,4,5,6]
            2.
              x = [1,2]
              x += "AB" # x = [1,2,"A","B"]
            3.
              x = [1,2]
              x += range(3) # x=[1,2,0,1,2]
View Code

        3. *
          作用:生成重復的列表

            1.
              x = [1,2] * 3
              結果 :x=[1,2,1,2,1,2]
            2.
              x = list("AB") # x = ['A','B']
              x *= 2 # x = ['A','B','A','B']
              結果 :x = ['A','B','A','B']
View Code

       2.比較運算
         < <= > >= == !=
         比較規則:與字符串的比較規則完全相同
          1.[1,2,3] < [1,3,2]
            結果:True
          2.[1,2,3] != [1,3,2]
            結果:True
          3.[1,'two'] > ['two',1]
            結果:TypeError

       3.成員運算
          in / not in

          in:判斷一個元素是否存在於列表中,存在返回True,否則返回False
          not in : 取值同 in 相反

            x = [1,'two',3,'']

            3 in x : # True
            4 in x : # False
            '' not in x : False
View Code

     4.索引操作
        1.索引
          列表[整數]
          用法:
            等同於字符串的索引操作(正向索引和反向索引,規則與字符串完全相同)

     5.列表的切片 - slice
       1.作用
         等同於字符串的切片
         得到列表中某段連續或符合某特征的子列表
       2.列表的切片取值
         語法:列表[start:stop:step]
       3.列表的切片賦值
         列表[切片] = 可迭代對象
         注意:
           列表切片賦值運算符的右側必須是可迭代對象
     6.del 語句
       作用:刪除列表中的元素
       語法:
         del 列表[索引]
         del 列表[切片]

         L = [0,1,2,3,4,5,6]
         del L[0] #[1,2,3,4,5,6]
         del L[::2] #[2,4,6]
View Code


  1.列表中常用方法 - list api
    >>> help(list)
  2.詳解
    1.append()
      作用:
        在列表的末尾添加新元素
      語法:
        L.append(obj)
          參數 obj:
            表示要添加到列表末尾的對象
          返回值:
            無,但是會修改原來的列表中的值

        L = ["漩渦鳴人","宇智波佐助","春野櫻"]
        L.append("旗木卡卡西")
        結果:["漩渦鳴人","宇智波佐助","春野櫻","旗木卡卡西"]
View Code


    2.count()
      作用:
        統計某個元素再列表中出現的次數
      語法:
        L.count(obj)
          參數 obj:
            要統計的對象
          返回值:
            返回obj在列表中出現的次數

        L = ["漩渦鳴人","宇智波佐助","春野櫻","漩渦鳴人"]
        L.count("漩渦鳴人")
        結果:2
View Code

    3.extend()
      作用:
        用於在列表末尾一次性增加另一個序列中的多個值
        (用新列表擴展原列表中的值)
      語法:
        L.extend(seq)
          參數 seq:
            要擴展的元素列表(序列)
          返回值:
            無,但會改變原列表中的值

        L = ["漩渦鳴人","宇智波佐助","春野櫻"]
        users = ['大蛇丸',"君麻呂","卡卡西"]
        L.extend(users)
        結果:["漩渦鳴人","宇智波佐助","春野櫻",'大蛇丸',"君麻呂","卡卡西"]
View Code

    4.insert()
      作用:
        用於將指定對象插入到列表的指定位置處
      語法:
        L.insert(index,obj)
          參數 index:
            對象obj需要插入的索引位置
          參數 obj:
            需要插入的對象
          返回值:
            無,會改變原列表中的內容

        L = ['大蛇丸',"君麻呂","卡卡西"]
        L.insert(2,'漩渦鳴人')
        結果:'大蛇丸',"君麻呂",'漩渦鳴人',"卡卡西"
View Code

    5.index()
      作用:
        用於從列表中找出某個值第一次匹配的索引位置
      語法:
        L.index(obj)
        參數 obj :
          要查找的對象
        返回值:
          返回該對象對應的索引位置
          注:如果沒找到的話則拋出異常

      L = ['大蛇丸',"君麻呂","卡卡西"]
      L.index('君麻呂')
      結果:1

      L = ['大蛇丸',"君麻呂","卡卡西"]
      L.index('佐助')
      會拋出異常
View Code

    6.pop()
      作用:
        用於移除列表中的一個元素(默認是最后一個),並返回該元素的值
      語法:
        L.pop([index=-1])
          參數 [index=-1]:
            可選參數,要移除的列表的元素的索引值,不能超過列表總長度,默認值為-1,表示刪除最后一個列表值  
          返回值:
            返回從列表中移除的元素 

        L = ['大蛇丸',"君麻呂","卡卡西"]
        list_pop = L.pop()
        print(list_pop)
        print(L)
        結果:
          "卡卡西"
          ['大蛇丸',"君麻呂"]

        L = ['大蛇丸',"君麻呂","卡卡西"]
        list_pop = L.pop(1)
        print(list_pop)
        print(L)
        結果:
          "君麻呂"
          ["大蛇丸","卡卡西"]
View Code

    7.remove()
      作用:
        移除列表中某個值的第一個匹配項
      語法:
        L.remove(obj)
          參數 obj:
            要移除的內容
          返回值:
            無,但原列表中第一次匹配的內容會被刪除

        L = ['大蛇丸',"君麻呂","卡卡西"]
        L.remove('大蛇丸')
        print(L)
        結果:["君麻呂","卡卡西"]
View Code

    8.reverse()
      作用:
        將列表進行翻轉
      語法:
        L.reverse()
          參數 :無
          返回值 :無,會改變原有的列表值
    9.sort()
      作用:
        對原列表進行排序
      語法:
        sort(reverse=False)
          參數 reverse :
            排序規則,默認為False表示升序,設置為True則為降序
          返回值:
            無,會改變原列表中的值
  3.字符串的文本解析方法
    1.split()
      語法:
        S.split(sep=None)
      作用:
        將字符串S使用sep作為分隔符進行拆分,返回分隔后的字符串列表,如果不指定sep的話則采用空白字符作為分隔符
    2.join()
      語法:
        S.join(iterable)
      作用:
        用可迭代對象中的字符串,拼接並返回中間使用S進行分割的字符串
  4.淺拷貝 和 深拷貝
    1.淺拷貝 - shallow copy
      1.什么是淺拷貝
        淺拷貝是指在復制過程中,只復制一層變量,不會復制深層變量綁定的對象的復制過程

      2.語法
        L.copy()
    2.深拷貝
      1.語法
        import copy
        L1 = copy.deepcopy(L)
  5.列表推導式 - comprehension
    1.什么是列表推導式
      利用可迭代對象生成列表的表達式
      使用簡易的方法生成列表
    2.語法
      [ 表達式 for 變量 in 可迭代對象 if 真值表達式 ]
      注意:
        1.if 真值表達式 是可以省略不寫的
        2.表達式 是由 變量配合其他運算組合成的一個表達式值
    3.列表推導式的嵌套
      語法:
        [
          表達式
            for 變量1 in 可迭代對象1 if 真值表達式1
              for 變量2 in 可迭代對象2 if 真值表達式2
        ]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM