日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python學習筆記004——列表與元組

系統 1888 0

1.序列

在Python中最基礎的數據結構是序列,數據結構可以理解為具有某種功能的特殊數據類型,序列中每個元素都有編號,表示其位置或者索引,其中第一個元素的索引值為0,其意義是指出某個元素相對于序列開題的偏移量。

1.1 序列

序列是python中的一種數據結構,和C語言中的數組比較類似,只是在Python中序列存儲的數據不限類別,也不需要所有的序列元素都是同一種類別。最常用的序列是:列表和元組。
列表和元組的主要區別在于列表可以修改而元組不可修改。當需要一系列的值時就可以考慮使用序列,當然序列中也可以存儲序列。
序列的使用距舉例:

            
              
                >>
              
              
                >
              
               a 
              
                =
              
              
                [
              
              
                'I'
              
              
                ,
              
              
                'love'
              
              
                ]
              
              
                >>
              
              
                >
              
               b 
              
                =
              
              
                [
              
              
                'you'
              
              
                ,
              
              
                2
              
              
                ]
              
              
                >>
              
              
                >
              
               c 
              
                =
              
              
                (
              
              a
              
                ,
              
               b
              
                )
              
              
                >>
              
              
                >
              
               c

              
                (
              
              
                [
              
              
                'I'
              
              
                ,
              
              
                'love'
              
              
                ]
              
              
                ,
              
              
                [
              
              
                'you'
              
              
                ,
              
              
                2
              
              
                ]
              
              
                )
              
            
          

1.2 通用序列操作

通用的序列操作包括 索引 切片 相加 相乘 成員資格檢查

索引

序列中所有的元素都有編號——從0開始遞增,索引使用舉例:

            
              
                >>
              
              
                >
              
               g 
              
                =
              
              
                'Hello'
              
              
                >>
              
              
                >
              
               g
              
                [
              
              
                0
              
              
                ]
              
              
                'H'
              
            
          

當使用的索引值為負數時,Python會從后往前數,索引值為正數時從前往后數比如:

            
              
                >>
              
              
                >
              
               g
              
                [
              
              
                -
              
              
                1
              
              
                ]
              
              
                'o'
              
              
                >>
              
              
                >
              
               g
              
                [
              
              
                1
              
              
                ]
              
              
                'e'
              
            
          

切片

切片用來訪問特定范圍內的元素,可以使用兩個索引,用冒號分開,從第一個索引值開始取,一直到第二個索引值,但不包括第二個索引的元素,索引為負時也是一樣,只是方向上是反的比如

            
              
                >>
              
              
                >
              
               tag 
              
                =
              
              
                '0123456789'
              
              
                >>
              
              
                >
              
               tag
              
                [
              
              
                1
              
              
                :
              
              
                6
              
              
                ]
              
              
                '12345'
              
              
                >>
              
              
                >
              
               tag
              
                [
              
              
                -
              
              
                5
              
              
                :
              
              
                -
              
              
                1
              
              
                ]
              
              
                '5678'
              
            
          

切片也可以簡寫,操作如下:

            
              
                >>
              
              
                >
              
               tag 
              
                =
              
              
                '0123456789'
              
              
                >>
              
              
                >
              
               tag
              
                [
              
              
                1
              
              
                :
              
              
                ]
              
              
                # 省略后面的數字默認到序列的最后
              
              
                '123456789'
              
              
                >>
              
              
                >
              
               tag
              
                [
              
              
                :
              
              
                1
              
              
                ]
              
              
                # 省略第一個數字默認從序列頭開始
              
              
                '0'
              
            
          

同時切片也可以指定步長,步長大小一般是切片的第三個參數,步長標記了切片取到的元素之間的間隔距離,比如:

            
              
                >>
              
              
                >
              
               tag 
              
                =
              
              
                '0123456789'
              
              
                >>
              
              
                >
              
              
                >>
              
              
                >
              
               tag
              
                [
              
              
                1
              
              
                :
              
              
                9
              
              
                :
              
              
                1
              
              
                ]
              
              
                # 步長為1,取的元素之間沒有跳躍性
              
              
                '12345678'
              
              
                >>
              
              
                >
              
               tag
              
                [
              
              
                1
              
              
                :
              
              
                9
              
              
                :
              
              
                2
              
              
                ]
              
              
                # 步長為2,每取完一個元素會跳過一個元素,相當于一步多夸了一個單位
              
              
                '1357'
              
              
                >>
              
              
                >
              
               tag
              
                [
              
              
                1
              
              
                :
              
              
                9
              
              
                :
              
              
                3
              
              
                ]
              
              
                # 步長為3,一下子跨越了三個元素
              
              
                '147'
              
            
          

序列相加

序列之間跨越通過相加來合并,但是兩個不同類型的序列不能相加,舉例:

            
              
                >>
              
              
                >
              
               list1 
              
                =
              
              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ]
              
              
                >>
              
              
                >
              
               list1 
              
                +
              
              
                [
              
              
                4
              
              
                ,
              
              
                5
              
              
                ,
              
              
                6
              
              
                ]
              
              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ,
              
              
                4
              
              
                ,
              
              
                5
              
              
                ,
              
              
                6
              
              
                ]
              
              
                >>
              
              
                >
              
               list1 
              
                +
              
              
                'abc'
              
              
Traceback 
              
                (
              
              most recent call last
              
                )
              
              
                :
              
              
  File 
              
                "
                
                  "
                
              
              
                ,
              
               line 
              
                1
              
              
                ,
              
              
                in
              
              
                <
              
              module
              
                >
              
              
TypeError
              
                :
              
               can only concatenate 
              
                list
              
              
                (
              
              
                not
              
              
                "str"
              
              
                )
              
               to 
              
                list
              
            
          

序列乘法

序列可以通過乘以一個數字n來重復n次,舉例:

            
              
                >>
              
              
                >
              
               a 
              
                =
              
              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ]
              
              
                >>
              
              
                >
              
               a 
              
                *
              
              
                2
              
              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ,
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ]
              
            
          

成員資格

可以通過in來判斷一個元素是否在一個序列中,返回布爾型的數據,具體的實現會在迭代器中詳解,舉例:

            
              
                >>
              
              
                >
              
               a 
              
                =
              
              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ]
              
              
                >>
              
              
                >
              
              
                2
              
              
                in
              
               a

              
                True
              
              
                >>
              
              
                >
              
              
                4
              
              
                in
              
               a

              
                False
              
            
          

2.列表

列表是一種序列,非常類似于C語言中的數組,但使用起來會簡單很多,列表的定義可以通過以下兩種方式進行:

            
              
                >>
              
              
                >
              
               list1 
              
                =
              
              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ]
              
              
                # 直接通過[]定義列表
              
              
                >>
              
              
                >
              
               list1

              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ]
              
              
                >>
              
              
                >
              
               list2 
              
                =
              
              
                list
              
              
                (
              
              
                '123'
              
              
                )
              
              
                # 通過list方法定義列表
              
              
                >>
              
              
                >
              
               list2

              
                [
              
              
                '1'
              
              
                ,
              
              
                '2'
              
              
                ,
              
              
                '3'
              
              
                ]
              
            
          

2.1列表基本操作:

2.1.1 列表修改

直接使用列表的索引值對指定地方的元素進行修改,舉例:

            
              
                >>
              
              
                >
              
               list1 
              
                =
              
              
                [
              
              
                1
              
              
                ,
              
              
                1
              
              
                ,
              
              
                1
              
              
                ]
              
              
                >>
              
              
                >
              
               list1
              
                [
              
              
                1
              
              
                ]
              
              
                =
              
              
                2
              
              
                >>
              
              
                >
              
               list1

              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                1
              
              
                ]
              
            
          

注意 :不能給不存在的元素賦值。

2.1.2 刪除元素

使用del語句可以刪除列表的元素,舉例:

            
              
                >>
              
              
                >
              
               list1 
              
                =
              
              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ]
              
              
                >>
              
              
                >
              
              
                del
              
               list1
              
                [
              
              
                2
              
              
                ]
              
              
                >>
              
              
                >
              
               list1

              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ]
              
            
          

2.1.3 給切片賦值

切片的功能強大,可以給索引范圍內的元素賦值,多于部分會自動刪除,舉例:

            
              
                >>
              
              
                >
              
               name 
              
                =
              
              
                list
              
              
                (
              
              
                'lalalalalala'
              
              
                )
              
              
                >>
              
              
                >
              
               name

              
                [
              
              
                'l'
              
              
                ,
              
              
                'a'
              
              
                ,
              
              
                'l'
              
              
                ,
              
              
                'a'
              
              
                ,
              
              
                'l'
              
              
                ,
              
              
                'a'
              
              
                ,
              
              
                'l'
              
              
                ,
              
              
                'a'
              
              
                ,
              
              
                'l'
              
              
                ,
              
              
                'a'
              
              
                ,
              
              
                'l'
              
              
                ,
              
              
                'a'
              
              
                ]
              
              
                >>
              
              
                >
              
               name
              
                [
              
              
                2
              
              
                :
              
              
                ]
              
              
                =
              
              
                list
              
              
                (
              
              
                'ar'
              
              
                )
              
              
                >>
              
              
                >
              
               name

              
                [
              
              
                'l'
              
              
                ,
              
              
                'a'
              
              
                ,
              
              
                'a'
              
              
                ,
              
              
                'r'
              
              
                ]
              
            
          

2.2 列表方法

方法是與對象相關的一些函數,可以增加序列使用的靈活性。

2.2.1 增加元素的方法append

append方法用于向列表尾端加一個對象,舉例:

            
              
                >>
              
              
                >
              
               list1 
              
                =
              
              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ]
              
              
                >>
              
              
                >
              
               list1
              
                .
              
              append
              
                (
              
              
                4
              
              
                )
              
              
                >>
              
              
                >
              
               list1

              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ,
              
              
                4
              
              
                ]
              
            
          

2.2.2 清空列表的方法clear

clear用于將列表清空,舉例;

            
              
                >>
              
              
                >
              
               list1 
              
                =
              
              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ]
              
              
                >>
              
              
                >
              
               list1
              
                .
              
              clear
              
                (
              
              
                )
              
              
                >>
              
              
                >
              
               list1

              
                [
              
              
                ]
              
            
          

2.2.3 復制列表的方法copy

常規復制只是將另一個名稱關聯到列表,沒有生成新的列表,舉例:

            
              
                >>
              
              
                >
              
               a 
              
                =
              
              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ]
              
              
                >>
              
              
                >
              
               b 
              
                =
              
               a  
              
                # 常規復制,沒有生成新的列表,b與a的地址一樣,所以改變a同時也會改變b
              
              
                >>
              
              
                >
              
               b

              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ]
              
              
                >>
              
              
                >
              
              
                id
              
              
                (
              
              a
              
                )
              
              
                1921407627400
              
              
                >>
              
              
                >
              
              
                id
              
              
                (
              
              b
              
                )
              
              
                1921407627400
              
              
                >>
              
              
                >
              
               b 
              
                =
              
               a
              
                .
              
              copy
              
                (
              
              
                )
              
              
                # 使用copy復制,生成了新的列表
              
              
                >>
              
              
                >
              
               b

              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ]
              
              
                >>
              
              
                >
              
              
                id
              
              
                (
              
              b
              
                )
              
              
                1921407642376
              
            
          

2.2.4 統計方法count

方法count統計指定的元素在列表中出現的次數,舉例:

            
              
                >>
              
              
                >
              
               a 
              
                =
              
              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ,
              
              
                3
              
              
                ,
              
              
                3
              
              
                ,
              
              
                4
              
              
                ,
              
              
                4
              
              
                ,
              
              
                4
              
              
                ,
              
              
                4
              
              
                ]
              
              
                >>
              
              
                >
              
               a
              
                .
              
              count
              
                (
              
              
                3
              
              
                )
              
              
                3
              
            
          

2.2.5 附加方法extend

extend方法可以將多個值加到目標列表的尾端,一般指定參數也是一種序列,舉例:

            
              
                >>
              
              
                >
              
               a 
              
                =
              
              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ]
              
              
                >>
              
              
                >
              
               b 
              
                =
              
              
                [
              
              
                4
              
              
                ,
              
              
                5
              
              
                ,
              
              
                6
              
              
                ]
              
              
                >>
              
              
                >
              
               a
              
                .
              
              extend
              
                (
              
              b
              
                )
              
              
                >>
              
              
                >
              
               a

              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ,
              
              
                4
              
              
                ,
              
              
                5
              
              
                ,
              
              
                6
              
              
                ]
              
            
          

注意 :與序列的相加不同的是,序列相加后生成了一個新的序列,而extend方法是在原序列的基礎上加上了一段,沒有生成新的序列。

2.2.6 索引查找方法index

index方法在列表中查找第一個出現的目標元素的索引,舉例:

            
              
                >>
              
              
                >
              
               lst 
              
                =
              
              
                [
              
              
                'a'
              
              
                ,
              
              
                'b'
              
              
                ,
              
              
                'c'
              
              
                ,
              
              
                'c'
              
              
                ]
              
              
                >>
              
              
                >
              
               lst
              
                .
              
              index
              
                (
              
              
                'c'
              
              
                )
              
              
                2
              
            
          

2.2.7 元素插入方法insert

方法insert用于將一個對象插入列表中,舉例:

            
              
                >>
              
              
                >
              
               a 
              
                =
              
              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ]
              
              
                >>
              
              
                >
              
               a
              
                .
              
              insert
              
                (
              
              
                1
              
              
                ,
              
              
                4
              
              
                )
              
              
                # 在索引為1的位置插入4這個元素
              
              
                >>
              
              
                >
              
               a

              
                [
              
              
                1
              
              
                ,
              
              
                4
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ]
              
            
          

2.2.8 刪除并返回刪除元素的方法pop

方法pop從列表中刪除一個元素,并將刪除的值返回,當pop方法傳入索引值時刪除對應索引值的元素,否則刪除最后一個元素,舉例:

            
              
                >>
              
              
                >
              
               a 
              
                =
              
              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ,
              
              
                4
              
              
                ]
              
              
                >>
              
              
                >
              
               a
              
                .
              
              pop
              
                (
              
              
                )
              
              
                4
              
              
                >>
              
              
                >
              
               a
              
                .
              
              pop
              
                (
              
              
                0
              
              
                )
              
              
                1
              
              
                >>
              
              
                >
              
               a

              
                [
              
              
                2
              
              
                ,
              
              
                3
              
              
                ]
              
            
          

2.2.9 按元素值刪除元素的方法remove

方法remove用于刪除第一個為指定值的元素,舉例:

            
              
                >>
              
              
                >
              
               a 
              
                =
              
              
                [
              
              
                'to'
              
              
                ,
              
              
                'as'
              
              
                ,
              
              
                'the'
              
              
                ,
              
              
                'qaq'
              
              
                ,
              
              
                'to'
              
              
                ,
              
              
                'as'
              
              
                ]
              
              
                >>
              
              
                >
              
               a
              
                .
              
              remove
              
                (
              
              
                'as'
              
              
                )
              
              
                >>
              
              
                >
              
               a

              
                [
              
              
                'to'
              
              
                ,
              
              
                'the'
              
              
                ,
              
              
                'qaq'
              
              
                ,
              
              
                'to'
              
              
                ,
              
              
                'as'
              
              
                ]
              
            
          

2.2.10 翻轉列表的方法reverse

reverse將列表按相反的順序排列,舉例;

            
              
                >>
              
              
                >
              
               a 
              
                =
              
              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ]
              
              
                >>
              
              
                >
              
               a
              
                .
              
              reverse
              
                (
              
              
                )
              
              
                >>
              
              
                >
              
               a

              
                [
              
              
                3
              
              
                ,
              
              
                2
              
              
                ,
              
              
                1
              
              
                ]
              
            
          

2.2.11 排序方法sort

sort方法若不帶參數則將列表就地排序,帶特殊參數可以按照特殊需求排序,舉例;

            
              
                >>
              
              
                >
              
               a 
              
                =
              
              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ,
              
              
                5
              
              
                ,
              
              
                6
              
              
                ,
              
              
                7
              
              
                ,
              
              
                8
              
              
                ,
              
              
                4
              
              
                ,
              
              
                9
              
              
                ]
              
              
                >>
              
              
                >
              
               a
              
                .
              
              sort
              
                (
              
              
                )
              
              
                # 默認排序,按從小到大排列
              
              
                >>
              
              
                >
              
               a

              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ,
              
              
                4
              
              
                ,
              
              
                5
              
              
                ,
              
              
                6
              
              
                ,
              
              
                7
              
              
                ,
              
              
                8
              
              
                ,
              
              
                9
              
              
                ]
              
              
                >>
              
              
                >
              
               a 
              
                =
              
              
                [
              
              
                'asdd'
              
              
                ,
              
              
                'asdhjfuekqj'
              
              
                ,
              
              
                'a'
              
              
                ,
              
              
                'sdf'
              
              
                ,
              
              
                'dhjucne'
              
              
                ]
              
              
                >>
              
              
                >
              
               a
              
                .
              
              sort
              
                (
              
              key
              
                =
              
              
                len
              
              
                )
              
              
                # 按字符串長度排序
              
              
                >>
              
              
                >
              
               a

              
                [
              
              
                'a'
              
              
                ,
              
              
                'sdf'
              
              
                ,
              
              
                'asdd'
              
              
                ,
              
              
                'dhjucne'
              
              
                ,
              
              
                'asdhjfuekqj'
              
              
                ]
              
              
                >>
              
              
                >
              
               a 
              
                =
              
              
                [
              
              
                1
              
              
                ,
              
              
                5
              
              
                ,
              
              
                3
              
              
                ,
              
              
                2
              
              
                ,
              
              
                6
              
              
                ,
              
              
                4
              
              
                ,
              
              
                7
              
              
                ,
              
              
                8
              
              
                ,
              
              
                9
              
              
                ]
              
              
                >>
              
              
                >
              
               a
              
                .
              
              sort
              
                (
              
              reverse
              
                =
              
              
                True
              
              
                )
              
              
                # 按從大到小排列
              
              
                >>
              
              
                >
              
               a

              
                [
              
              
                9
              
              
                ,
              
              
                8
              
              
                ,
              
              
                7
              
              
                ,
              
              
                6
              
              
                ,
              
              
                5
              
              
                ,
              
              
                4
              
              
                ,
              
              
                3
              
              
                ,
              
              
                2
              
              
                ,
              
              
                1
              
              
                ]
              
            
          

3 元組

元組是一種不能更改的序列,性質與列表類似,采用()包裹,舉例:

            
              
                >>
              
              
                >
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                # 直接用逗號隔開的數字可以構成一個元組
              
              
                (
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                )
              
              
                >>
              
              
                >
              
              
                (
              
              
                )
              
              
                #空括號也能構成元組
              
              
                (
              
              
                )
              
              
                >>
              
              
                >
              
              
                42
              
              
                ,
              
              
                (
              
              
                42
              
              
                ,
              
              
                )
              
            
          

可以通過tuple方法將一個序列變成元組,舉例:

            
              
                >>
              
              
                >
              
              
                tuple
              
              
                (
              
              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ]
              
              
                )
              
              
                (
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                )
              
            
          

更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 南岸区| 瓮安县| 邳州市| 胶州市| 琼结县| 无极县| 洪洞县| 琼中| 南开区| 永川市| 邯郸市| 丹巴县| 瑞安市| 日土县| 合川市| 当雄县| 青田县| 金沙县| 滨海县| 威远县| 临洮县| 萝北县| 广昌县| 比如县| 白水县| 富源县| 英德市| 常德市| 桂阳县| 韶山市| 仁寿县| 金溪县| 濮阳市| 郎溪县| 大宁县| 雷波县| 上犹县| 长阳| 梅州市| 高阳县| 赤水市|