Python 列表(List)
序列是Python中最基本的資料結構。序列中的每個元素都分配一個數字 - 它的位置,或索引,第一個索引是0,第二個索引是1,依此類推。
Python有6個序列的內建類型,但最常見的是清單和元組。
序列都可以進行的操作包括索引,切片,加,乘,檢查成員。
此外,Python已經內建確定序列的長度以及確定最大和最小的元素的方法。
清單是最常用的Python資料類型,它可以作為一個方括號內的逗號分隔值出現。
列表的資料項目不需要具有相同的類型
建立一個列表,只要把逗號分隔的不同的資料項使用方括號括起來即可。如下圖所示:
list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];##list3 = ["a", "b", "c", "d"];
list2 = [1, 2, 3, 4, 5 ];##list3 = ["a", "b", "c", "d"];
存取清單中的值使用下標索引來存取清單中的值,同樣你也可以使用方括號的形式截取字符,如下所示:
#!/usr/bin/python
list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 3, 4, 5, 6, 7 ];
print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]
以上實例輸出結果:list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 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/python
list = ['physics', 'chemistry', 1997, 2000];
print "Value available at index 2 : "
print list[2]
print;
list[2] = 2001;
print "New value available at index 2 : "
print list[2];
list = ['physics', 'chemistry', 1997, 2000];
print "Value available at index 2 : "
print list[2]
print;
list[2] = 2001;
print "New value available at index 2 : "
print list[2];
注意:我們注意:
我們會在接下來的章節討論append()方法的使用以上實例輸出結果:Value available at index 2 :
1997
New value available at index 2 :
刪除清單元素
可以使用del 語句來刪除清單的的元素,如下實例:
#!/usr/bin/python
list1 = ['physics', 'chemistry', 1997, 2000];
print list1;
del list1[2];
print "After deleting value list1[2];
print "After deleting value list1[2];
##print list1;list1 = ['physics', 'chemistry', 1997, 2000];
print list1;
del list1[2];
print "After deleting value list1[2];
print "After deleting value list1[2];
['physics', 'chemistry', 1997, 2000]
After deleting value at index 2 :
注意:
我們會在接下來的章節討論remove()方法的使用Python清單腳本運算子清單對+ 和 * 的運算子與字串相似。 + 號用於組合列表,* 號用於重複列表。 如下:
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 在 [ 1, 2, 3] | True | 元素是否存在於列表中 |
for x in [1, 2, 3]: print x , | 1 2 3 | 迭代 |
Python列表截取
Python的列表截取與字符串運算類型,如下:
L = ['spam', 'Spam', 'SPAM!']
操作:
Python 表達式 | 結果 | 描述 |
---|---|---|
#L[2] | 'SPAM !' | 讀取清單中第三個元素 |
L[-2] | 'Spam' | 讀取列表中倒數第二個元素 |
L[1:] | #['Spam', 'SPAM!'] | #從第二個元素開始截取列表 |
Python列表函數&方法
Python包含以下函數:
序號 | 函數 |
---|---|
1 | cmp(list1, list2) 比較兩個清單的元素 |
2 | len(list) 列表元素個數 |
#3 | max(list) 傳回清單元素最大值 |
4 | min(list) 傳回清單元素最小值 |
5 | list(seq) 將元組轉換為列表 |
Python包含以下方法:
##方法 | |
---|---|
1 | |
1 | list.append(obj) | 在列表末尾新增新的物件
#2 | list.count(obj) | 統計某個元素在列表中出現的次數
3 | list.extend(seq) | 在列表結尾一次追加另一個序列中的多個值(用新列表擴展原來的列表)
4 | list.index(obj) | 從列表中找出某個值第一個匹配項的索引位置
5 | list.insert(index, obj) | 將物件插入清單
6 | list.pop(obj=list[-1]) | 移除清單中的一個元素(預設最後一個元素),並且傳回該元素的值
7 | list.remove(obj) | 移除清單中某個值的第一個匹配項
#8 | list.reverse () | 反向清單中元素