1. 程式人生 > >python List 相關操作

python List 相關操作

1、建立空列表

      a = [ [ ]  for i in range(5)]

      b = [ [ ] ] * 5

      a中的五個空列表,分別指向不同的物件;

      b中的五個空列表,指向同一個物件;

                            

2、列表的複製

     a = [1,2,3,4,5]

     b = a

     a和b指向了同一個物件,改變a(或b),b(或a)也跟著改變

     

    列表深拷貝的3中方法:

          a = [1,2,3,4,5]

          b = list(a)

          

         呼叫copy模組

         

        用列表的切片實現列表複製

        

3、all() 和 any()

       all -----True if  every value is True

       any -----True if at least 1 value is True

       not all -----True if at least 1 value is False

       not any-----True if every value is False

4、itertools模組的使用

      a = [0,1,2]

      b = [3,4]

      for i in a+b:

           print(i)

    使用" + "會複製列表,生成新的列表,當列表非常大的時候,操作不可行

    可以使用itertools模組

   

5、zip()函式和zip分解

      a = [0,1,2]

      b = [3,4,5]

      c = [6,7,8]

      d = zip(a,b,c)

      e,f,g = zip(*d)

6、列表操作" + " 和extend的區別

      + : 產生一個新的列表,不改變原列表

      extend:追加列表,不產生新列表,改變原列表,extend的引數必須是可迭代的

      

7、轉換矩陣

     a = [[0,1,2], [3,4,5], [6,7,8]]

     b = zip(*a)

8、列表的count方法

     a = [1,2,3,1]

     print(a.count(1))   #2

     

9、列表排序

     a = [3,2,1]

     ①:a.sort()

           改變原列表,即a = [1,2,3]

     ②:b = sorted(a)

           複製一個新的列表,不改變原列表

           sorted關鍵字排序

          

10、列表中插入一個或者多個元素

         

11、從列表中刪除元素

       del、pop

12、反轉一個列表

       a = [1,3,2]

        ①:a.reverse()

          改變原列表

        ②:reversed(a)

            不改變原列表

         

13、列表元素去重

        ① a = [1,2,3,1,2]

             b = list(set(a))

             不保證原列表的元素順序