Python中最基本的資料結構是列表。一個列表的每個元素被分配一個數位來表示它的位置或索引。 第一個索引為0
,第二個索引為1
,依此類推。
Python有六種內建的序列型別,但最常見的是列表和元組,將在本教學中看到。
可以在列表上執行各種型別操作。這些操作包括索引,切片,新增,乘法和檢查成員身份。此外,Python還具有內建函式,用於查詢序列的長度和查詢其最大和最小的元素。
列表是Python中最通用的資料型別,可以寫成方括號之間的逗號分隔值(項)列表。列表中的專案不必是相同的型別,這一點和C語言中陣列有差別。
建立列表就在方括號之間放置不同的逗號分隔值。 例如 -
list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"];
類似於字串索引,列表索引從0
開始,列表可以被切片,連線等等。
要存取列表中的值,使用方括號進行切片以及索引或索引,以獲取該索引處可用的值。例如 -
#!/usr/bin/python3
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()
方法新增到列表中的元素。例如 -
#!/usr/bin/python3
list = ['physics', 'chemistry', 1997, 2000]
print ("Value available at index 2 : ", list[2])
list[2] = 2001
print ("New value available at index 2 : ", list[2])
註 - 在後續章節中討論了
append()
方法。
當執行上述程式碼時,會產生以下結果 -
Value available at index 2 : 1997
New value available at index 2 : 2001
要刪除列表元素,並且如果確切知道要刪除哪些元素可以使用del
語句。如果不知道要刪除哪些專案,可以使用remove()
方法。 例如 -
#!/usr/bin/python3
list = ['physics', 'chemistry', 1997, 2000]
print (list)
del list[2]
print ("After deleting value at index 2 : ", list)
當執行上述程式碼時,會產生以下結果 -
['physics', 'chemistry', 1997, 2000]
After deleting value at index 2 : ['physics', 'chemistry', 2000]
註 -
remove()
方法將在後續章節中討論。
列表響應+
和*
運算子,這與字串十分類似; 它們也意味著這裡的連線和重複,除了結果是新的列表,而不是字串。
事實上,列表響應上一章中,在字串上使用的所有常規序列操作。
Python表示式 | 結果 | 描述 |
---|---|---|
len([1, 2, 3]) |
3 | 列表的長度 |
[1, 2, 3] + [4, 5, 6] |
[1, 2, 3, 4, 5, 6] |
聯接 |
['Hi!'] * 4 |
['Hi!', 'Hi!', 'Hi!', 'Hi!'] |
重複 |
3 in [1, 2, 3] |
True |
|
for x in [1,2,3] : print (x,end = ' ') |
1 2 3 |
疊代 |
由於列表是序列,索引和切片的工作方式與列表一樣,對於字串。
假設以下輸入 -
L = ['C++'', 'Java', 'Python']
Python表示式 | 結果 | 描述 |
---|---|---|
L[2] |
'Python' |
偏移量,從零開始 |
L[-2] |
'Java' |
負數:從右到右 |
L[1:] |
['Java', 'Python'] |
切片提取部分 |
Python包括以下列表函式功能 -
編號 | 方法 | 描述 |
---|---|---|
1 | cmp(list1, list2) | 在Python 3中不再可用。 |
2 | len(list) | 給出列表的總長度。 |
3 | max(list) | 從列表中返回最大值的專案。 |
4 | min(list) | 從列表中返回最小值的專案。 |
5 | list(seq) | 將元組轉換為列表。 |
Python包括以下列表方法 -
編號 | 方法 | 描述 |
---|---|---|
1 | list.append(obj) | 將物件obj 追加到列表中 |
2 | list.count(obj) | 返回列表中出現多少次obj 的計數 |
3 | list.extend(seq) | 返回列表中出現多少次obj 的計數 |
4 | list.extend(seq) | 將seq 的內容附加到列表中 |
5 | list.insert(index, obj) | 將物件obj 插入到偏移索引的列表中 |
6 | list.pop(obj = list[-1]) | 從列表中刪除並返回最後一個物件或obj |
7 | list.remove(obj) | 從列表中刪除物件obj |
8 | list.reverse() | 反轉列表中的物件 |
9 | list.sort([func]) | 排序列表的物件,如果給出,則使用比較函式func 來排序 |