Python - 列表



Python 列表

列表是 Python 中內建的資料型別之一。Python 列表是由逗號分隔的專案組成的序列,用方括號 [ ] 括起來。Python 列表中的專案不必是相同的資料型別。

以下是一些 Python 列表的示例:

list1 = ["Rohan", "Physics", 21, 69.75]
list2 = [1, 2, 3, 4, 5]
list3 = ["a", "b", "c", "d"]
list4 = [25.50, True, -55, 1+2j]

列表是有序的專案集合。列表中的每個專案都有一個唯一的索引位置,從 0 開始。

Python 中的列表類似於 C、C++ 或 Java 中的陣列。但是,主要區別在於,在 C/C++/Java 中,陣列元素必須是相同型別的。另一方面,Python 列表可以包含不同資料型別的物件。

Python 列表是可變的。可以使用其索引訪問列表中的任何專案,並且可以修改。可以從列表中刪除或新增一個或多個物件。列表可以在多個索引位置具有相同的專案。

訪問列表中的值

訪問列表中的值,請使用方括號進行切片以及索引或索引來獲取該索引處的值。例如:

list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5, 6, 7 ];
print ("list1[0]: ", list1[0])
print ("list2[1:5]: ", list2[1:5])

當執行上述程式碼時,它會產生以下結果:

list1[0]:  physics
list2[1:5]:  [2, 3, 4, 5]

更新列表

可以透過在賦值運算子左側給出切片來更新列表的單個或多個元素,並且可以使用 append() 方法向列表中新增元素。例如:

list = ['physics', 'chemistry', 1997, 2000];
print ("Value available at index 2 : ")
print (list[2])
list[2] = 2001;
print ("New value available at index 2 : ")
print (list[2])

當執行上述程式碼時,它會產生以下結果:

Value available at index 2 :
1997
New value available at index 2 :
2001

刪除列表元素

刪除列表元素,如果知道要刪除的確切元素,可以使用del語句;如果不知道,可以使用remove()方法。例如:

list1 = ['physics', 'chemistry', 1997, 2000];
print (list1)
del list1[2];
print ("After deleting value at index 2 : ")
print (list1)

當以上程式碼執行時,會產生以下結果:

['physics', 'chemistry', 1997, 2000]
After deleting value at index 2 :
['physics', 'chemistry', 2000]

注意 - remove() 方法將在後續章節中討論。

Python 列表操作

在 Python 中,列表是一個序列。因此,我們可以使用“+”運算子連線兩個列表,使用“*”運算子連線列表的多個副本。成員運算子“in”和“not in”適用於列表物件。

Python 表示式 結果 描述
[1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] 連線
['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] 重複
3 in [1, 2, 3] True 成員關係

索引、切片和矩陣

因為列表是序列,所以索引和切片對列表的操作方式與對字串的操作方式相同。

假設以下輸入:

L = ['spam', 'Spam', 'SPAM!']

Python 表示式 結果 描述
L[2] SPAM! 偏移量從零開始
L[-2] Spam 負數:從右側開始計數
L[1:] ['Spam', 'SPAM!'] 切片獲取部分內容

Python 列表方法

Python 包含以下列表方法:

序號 方法及描述
1

list.append(obj)

將物件 obj 追加到列表中。

2

list.clear()

清除列表的內容。

3

list.copy()

返回列表物件的副本。

4

list.count(obj)

返回 obj 在列表中出現的次數。

5

list.extend(seq)

將 seq 的內容追加到列表中。

6

list.index(obj)

返回 obj 在列表中首次出現的最低索引。

7

list.insert(index, obj)

在偏移量 index 處將物件 obj 插入到列表中。

8

list.pop(obj=list[-1])

刪除並返回列表中的最後一個物件或 obj。

9

list.remove(obj)

從列表中刪除物件 obj。

10

list.reverse()

就地反轉列表中的物件。

11

list.sort([func])

對列表中的物件進行排序,如果給出則使用比較函式 func。

與列表一起使用的內建函式

以下是我們可以與列表一起使用的內建函式:

序號 函式及描述
1 cmp(list1, list2)

比較兩個列表的元素。

2 len(list)

給出列表的總長度。

3 max(list)

返回列表中具有最大值的項。

4 min(list)

返回列表中具有最小值的項。

5 list(seq)

將元組轉換為列表。

廣告