《Python編程快速上手,讓繁鎖工作自動化》筆記 第4章--列表

列表數據類型及元組,列表和元且可以包含多個值,可以用它們將數據安排成層次結構。

 

4.1 列表數據類型

      列表是一個值,包含多個字構成的序列。如:

      ['cat', 'bat', 'rat','elephant']   [1, 2, 4]   ['hello',  3.14, True, None, 42]

 >>> spam = ['cat', 'bat', 'rat', 'elephant']
  >>> spam

 ['cat', 'bat', 'rat', 'elephant']  

 用下標取得列表中的單個值,下標從0開始,如spam[0]='cat', spam[3]='elephant'

負數下標: spam[-1]='elephant'

利用切片取得子列表:spam[1:4],在一個切片中,第一個整數是切片開始處的下標,第二個整數是切片結束處的下標。切片向上增長,直至第二個下標的值,但不包括它。spam[1:4]   # ['bat', 'rat', 'elephant']  spam[0:3]  #['cat', 'bat', 'rat']

用len()取列表長度  len(spam)   #4

用下標改變列表中的值: spam #['cat', 'bat', 'rat', 'elephant']   spam[1]='tiger'  #['cat', 'tiger', 'rat', 'elephant']

列表連接: [1,2,3] + ['a',b','c']     #[1,2.3,'a','b','c']

列表複製:[1,2,3] * 4  # [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3]

用del語句從列表中刪除值: del spam[2]    # ['cat', 'bat',  'elephant'] 

列表用於循環: for i in ranage(len(spam)):

                                print(spam[i])

in 和 not in 操作符:   'dog' in  spam   # False

                                    'dog' not in spam   #True

多重賦值技巧: cat = ['fat', 'black', 'loud']    

                          size, color, dispostion = cat

             變量數的數目和列表的長度必須嚴格相等,否則出錯。

 

增強賦值操作:   spam = 42;  spam += 1   #43

列表的方法:

1) 用index()方未能在列表中查找值, 該值存在於列表中,返回它的下標,否則,就報valueError錯誤。

    >>> spam = ['cat', 'bat', 'rat', 'elephant']
     >>>spam.index('bat')     # 1

2)用append()和insert()方法在列表中添加值,沒有返回值,返回值爲None

    append()添加到列表末尾, insert()在列表中任意下標處插入一值。

    spam.append('tiger')     # ['cat', 'bat', 'rat', 'elephant', 'tiger']

    spam.insert(2, 'tiger')   # ['cat', 'bat', 'tiger', 'rat', 'elephant']

3) 用remove()方法從列表中刪除值

    spam = ['cat', 'bat', 'tiger', 'rat', 'elephant']

    spam.remove('rat')    # ['cat', 'bat', 'tiger', 'elephant']

4) 用sort()方法將列表中的值排序

      >>> spam
      ['cat', 'tiger', 'rat', 'elephant']
      >>> spam.sort()
      >>> spam
       ['cat', 'elephant', 'rat', 'tiger']

      sort(reverse=True)表示按降序 ,sort(reverse=True)表示按升序

      >>> spam.sort(reverse=True)
      >>> spam
      ['tiger', 'rat', 'elephant', 'cat']

類似列表的類型: 字符串和元組

可變和不可變數據類型: 列表是“可變的“的數據類型, 可添加、刪除和修改

                                        字符串是”不可變的”數據類型,只能使用切片和連接構造一個“新的”字符串。

元組數據類型: 元組輸入時用圓括號(),而不是方括號[]。使用方法與列表一樣。

                          eggs = ('hello', 23, 0.5)

              但元組與列表主要區別在於: 元組像字符串一樣是不可變的。

用list()和tuple()函數來轉換類型

tuple():將列表轉換成元組

>>> tuple(['cat', 'dog', 5])
('cat', 'dog', 5)

list(): 將元組轉換成列表

>>> list(('cat', 'dog', 5))
['cat', 'dog', 5]

 copy模塊的copy()和deepcopy()函數

需要import copy

copy.copy() : 可以用來複制列表或字典這樣的可變值,而不是複製引用

copy.deepcopy(): 還未體現到與copy.copy()有什麼區別? 希望知道的朋友告知,謝謝!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章