1. 程式人生 > >Python零基礎入門(7)-------list 列表

Python零基礎入門(7)-------list 列表

集合 通用操作 數據 sort alt not in size index 索引 參數

list 列表屬於可變列表

(1)可以包含任意對象有序集合,【如下圖,任意數據類型,順序跟我們存進入的一樣】

技術分享圖片

(2) 通過下表索引訪問,如下圖所示甚至可以使用負數進行訪問,-1是最後一個元素

技術分享圖片

下圖訪問範圍: 從索引0到索引2。後面索引是不包含2的,請註意下

技術分享圖片

(3)可變長度。append方法進行追加

技術分享圖片

(4)任意嵌套

技術分享圖片

(5)支持原位改變, 可以看到從 25 變成 26

技術分享圖片

在內存中。Person變量是指向一塊引用,然後引用在指向具體的值。

技術分享圖片

當 person[1] = 26; 那麽內存的引用將重新指向一個新的對象

技術分享圖片

(6) 對象引用數組。由下圖可以看出 y 變量 的 “Mike” 跟 x[1] 是同一個對象

技術分享圖片

List 的通用操作 【下面內容適用與其他列表】

(1)list函數,將一個值轉化為list

技術分享圖片

(2)判斷元素是否在集合裏面【 (in)、(not in)】

技術分享圖片

(3)聯接序列 list1 + list2 【list1,list2 本身沒有任何改變】

技術分享圖片

(4)重復序列內容 list1 * n (n表示重復幾次) ,【list1本身也沒有改變】

技術分享圖片

(5)下標獲取元素與訪問指定索引範圍

技術分享圖片

上面說了範圍訪問中後面的索引是不包括在結果裏面的,下面圖例解釋一下

技術分享圖片

範圍訪問可以看作索引在縫隙的位置。索引訪問 0-2的索引,值得出前2個

看到圖中還以一個負數的索引。我們也可以通過負數索引進行訪問範圍。

範圍訪問 cities[:2] 前面不寫,默認從0開始。

cities[1:] 後面不寫,訪問到最後

cities[:] 都不寫,訪問所有

技術分享圖片

技術分享圖片

(6)按照步長值訪問指定索引訪問 語法: list1[i:j:k]

k 為步長值。 k = 2。即是每2個取1個。(每k個取1個,最後不滿k個,當k個取)

技術分享圖片

(7)獲取序列長度。len函數

技術分享圖片

(8)列表的部分通用函數

最大值(max)

最小值(min)

總和(sum)

獲取某元素的下表 list.index(x)

獲取某元素在列表出現的次數 list.count(x)

技術分享圖片

可變序列及列表的通用操作

(1)改變某個元素的值 list[0] = x

(2)改變某個範圍內的值 list[n:m] = t 。 t 表示一個可以叠代的值,數目必須與替換的範圍保持一致

技術分享圖片

(3)刪除元素 del 。 刪除範圍的另外一種寫法 x[0:2] = [] 等於一個空的序列也是一種刪除

技術分享圖片

技術分享圖片

(4) list.remove(x) 刪除一個值。如果又相同值,則刪除第一個匹配值

技術分享圖片

(5) list.clear() 清空列表

技術分享圖片

(6) 追加元素list.append(x) 與 擴展元素s.extend(list)

技術分享圖片

(7) list.insert(index,value) index 索引位置,value 具體值。在指定位置插入一個值

list.insert(0, 3.14) 等於 list[0:0] = [3.14]

技術分享圖片

(8) list.pop(index) 刪除指定索引的元素,並將刪除值返回。

技術分享圖片

(9) list.reverse() 反轉。不返回值。而是改變自身的元素位置

技術分享圖片

(10)復制序列

list.copy()

y = list.copy() 等同於 y = list[:]

技術分享圖片

(11) 排序 list.sort() 沒有返回值,也是影響本身

倒序 list.sort(key=None,reverse=True) 參數是否反轉

技術分享圖片

sorted(list) 返回一個新的結果。不影響本身

技術分享圖片

擴展: sort 方法的 key 參數是一個lambda。 下面的意思是,根據第一個字母排序

技術分享圖片

Python零基礎入門(7)-------list 列表