1. 程式人生 > Python入門教學 >10 Python 資料型別詳細篇:列表

10 Python 資料型別詳細篇:列表

這節課我們來學習下 Python 中一個非常重要的資料型別:列表。為什麼說它非常重要呢?因為在我們的實際開發過程中,列表是一個經常會用到的資料結構,它以佔用空間小,浪費記憶體空間少這一特性而被廣泛應用。這一小節我們會學習:

  • 列表的常見運算操作
  • 列表的常見函式
  • 列表的常見方法

1. 什麼是列表?

列表是一個有序的序列,列表中所有的元素放在 [] 中間,並用逗號分開,例如:

  • [1, 2, 3],一個包含 3 個整數的列表
  • [‘a’, ‘b’, ‘c’],一個包含 3 個字串的列表

2. 常見運算操作

本節介紹對列表的最常見的幾種運算操作,包括:

2.1 運算子 +

使用運算子 + 連線兩個列表,示例如下:

>>> [1, 2] + [3, 4]
[1, 2, 3, 4]
>>> [1, 2] + [3, 4] + [5, 6]
[1, 2, 3, 4, 5, 6]
  • 在第 1 行,使用運算子 + 連線兩個列表
  • 在第 3 行,使用運算子 + 連線多個列表

2.2 運算子 *

使用運算子 * 將列表的元素重複,示例如下:

>>> [1, 2] * 2
[1, 2, 1, 2]
>>> [1, 2] * 3
[1, 2, 1, 2, 1, 2]
  • 在第 1 行,使用運算子 * 將字串重複兩次
  • 在第 3 行,使用運算子 * 將字串重複三次

2.4 索引 []

通過索引 [] 獲取列表中指定位置的元素,示例如下:

>>> x = ['www', 'imooc', 'com']
>>> x[0]
'www'
>>> x[1]
'imooc'
>>> x[2]
'com'
  • 在第 2 行,獲取列表 x 的第 0 個元素 ‘www’
  • 在第 4 行,獲取列表 x 的第 1 個元素 ‘imooc’
  • 在第 6 行,獲取列表 x 的第 2 個元素 ‘com’

Tips:列表的索引也可以從最後一位開始,例如:x[-1] 獲取的是列表的最後一個元素。

2.5 索引 [:]

在 Python 中,使用語法 列表[start:end],獲取列表 列表 中在 [start, end) 範圍的子字串。注意範圍 [start, end) 包含 start,不包含 end。舉例如下:

>>> x = ['www', 'imooc', 'com']
>>> x[1]
'imooc'
>>> x[2]
'com'
>>> x[1:3]
['imooc', 'com']
  • 在第 2 行,獲取列表 x 的第 1 個元素 ‘imooc’
  • 在第 4 行,獲取列表 x 的第 2 個元素 ‘com’
  • 在第 6 行,獲取列表 x 中從 1 開始、到 3 結束的列表 [‘imooc’, ‘com’],使用 x[1:3] 表示該範圍,注意該範圍包括字串的第 1 個元素、不包括第 3 個元素。

2.6 關鍵字 in

通過關鍵字 in 檢查列表中是否包含指定元素,示例如下:

>>> 'imooc' in ['www', 'imooc', 'com']
True
>>> 'mooc' in ['www', 'imooc', 'com']
False
  • 在第 1 行,檢測字串 ‘imooc’ 在列表中
  • 在第 3 行,檢測字串 ‘mooc’ 不在列表中

3. 常見函式

3.1 len(列表) 函式

使用函式 len 獲取列表的長度,示例如下:

>>> len([1, 2, 3])
3
>>> len([1, 2, 3, 4])
4

Tips:len() 函式不只是可以獲取列表的長度,也可以獲取像集合、元組等等其他可迭代物件的長度。

3.2 max(列表) 函式

使用函式 max 獲取列表中最大的元素,示例如下:

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

3.3 min(列表) 函式

使用函式 min 獲取列表中最小的元素,示例如下:

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

4. 常見方法

4.1 append(item) 方法

append(item) 方法向列表中新增一個元素 item,示例如下:

>>> x = [1, 2, 3]
>>> x.append(4)
>>> x
[1, 2, 3, 4]
  • 在第 2 行,使用 append 方法向列表中新增一個元素 4
  • 在第 4 行,顯示列表中已經增加了一個元素

Tips:append() 方法預設將元素新增到列表的最後一個位置。

4.2 insert(index, item) 方法

insert(index, item) 方法用於將元素 item 插入列表的指定位置,示例如下:

>>> x = ['www', 'com']
>>> x.insert(1, 'imooc')
>>> x
['www', 'imooc', 'com']
>>> x.insert(0, 'http')
>>> x
['http', 'www', 'imooc', 'com']
>>> x.insert(4, 'end')
>>> x
['http', 'www', 'imooc', 'com', 'end']
  • 在第 2 行,將元素 ‘imooc’ 插入到列表的位置為 1 的地方
  • 在第 5 行,將元素 ‘http’ 插入到列表的位置為 0 的地方,即插入到佇列的首部
  • 在第 8 行,將元素 ‘end’ 插入到列表的位置為 4 的地方,即插入到佇列的尾部

4.3 pop() 方法

pop() 方法從列表的尾部取走一個元素,示例如下:

>>> x = ['www', 'imooc', 'com']
>>> item = x.pop()
>>> item
'com'
>>> x
['www', 'imooc']
  • 在第 2 行,從列表的尾部取走一個元素,將該元素儲存在變數 item 中
  • 在第 3 行,列印 item
  • 在第 4 行,顯示 item 為列表的尾部最後一個元素
  • 在第 5 行,列印取走最後一個元素後的列表
  • 在第 6 行,顯示 x 中已經少了一個元素

4.4 remove(item) 方法

remove(item) 方法從列表中刪除指定元素 item,示例如下:

>>> x = ['www', 'imooc', 'com']
>>> x.remove('imooc')
>>> x
['www', 'com']

4.5 index(item) 方法

index(item) 方法在列表中查詢指定元素 item,如果找到元素 item,則返回元素 item 的索引;如果找不到,則丟擲異常。示例如下:

>>> x = ['www', 'imooc', 'com']
>>> x.index('imooc')
1
>>> x.index('mooc')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: 'mooc' is not in list
  • 在第 2 行,在列表中使用 index 方法查詢元素 ‘imooc’
  • 在第 3 行,顯示元素 ‘imooc’ 在列表中的索引是 1
  • 在第 4 行,在列表中使用 index 方法查詢元素 ‘mooc’
  • 在第 5 行,因為列表中沒有包含元素 ‘mooc’,顯示錯誤 “ValueError: ‘mooc’ is not in list”

4.6 reverse() 方法

reverse() 方法將列表中元素倒序排列,示例如下:

>>> x = ['www', 'imooc', 'com']
>>> x.reverse()
>>> x
['com', 'imooc', 'www']
  • 在第 2 行,使用 reverse 方法將將列表中元素倒序排列
  • 在第 4 行,顯示列表的元素序列已經顛倒了

4.7 sort() 方法

sort() 方法對列表中元素進行排序,示例如下:

  • 按遞增排序

預設情況下,sort 方法對列表中的元素按遞增進行排序,示例如下:

>>> x = [1, 3, 2]
>>> x.sort()
[1, 2, 3]
  • 按遞減排序

通過使用選項 reverse = True 讓列表按遞減排序,示例如下:

>>> x = [1, 3, 2]
>>> x.sort(reverse = True)
[3, 2, 1]

5.小結

好了,這節課關於列表的學習到這裡就要告一段落了。我們來總結一下這節課主要學習了那些內容。這節課我們主要學習了列表的常見運算操作、函式、方法等等。運算操作中常見的有 + 和 * 這兩種,但是最重要的還是索引操作,這一點非常的重要,一定要掌握好。常見的函式和方法等都是 Python 內建的 API ,我們需要多多使用,畢竟熟能生巧不是嗎?