位置:首頁 > 腳本語言 > Python基礎教程 > Python列表

Python列表

Python最基本的數據結構是序列(列表/元組)。一個序列中的每個元素都分配有一個數字- 它的位置或索引。第一個索引是0,第二個索引是1,依此類推。

Python有6內置類型的序列,但最常見的是列表和元組,我們將在本基礎教程中看到。

有一些東西可以使用所有序列類型來做。這些操作包括索引,切片,加,乘,並檢查成員。此外,Python已經內置函數查找序列的長度和搜索它的最大和最小的元素。

Python列表:

列表是最通用的數據類型,在Python可以寫成逗號分隔值方括號(項目)列表。有關列表是在一個列表中的項不一定是同個數據類型。

創建一個列表很簡單,隻要把squere括號之間不同的逗號分隔值。例如:

list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"];

如字符串索引,列表索引從0開始,並列出可切片,連接等。

訪問列表中的值:

訪問列表中的值,請使用方括號沿切片帶索引或索引來獲得可用的索引對應的值。下麵是一個簡單的例子:

#!/usr/bin/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()方法添加元素到列表。下麵是一個簡單的例子:

#!/usr/bin/python

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];

注:append()方法將在後續章節中討論。

當執行上麵的代碼,產生以下結果:

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

刪除列表中的元素:

要刪除列表的元素,可以使用del語句,如果知道哪些元素要刪除;或如果你不知道那麼使用remove()方法。下麵是一個簡單的例子:

#!/usr/bin/python

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 表達式 結果 描述
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, 1 2 3 迭代

索引,切片,和矩陣:

因為列表序列,索引和切片的工作方式與他們對字符串操作類似。

假設下麵輸入:

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

 

Python 表達式 結果 描述
L[2] 'SPAM!' 偏移從零開始
L[-2] 'Spam' 負值:計數從右邊
L[1:] ['Spam', 'SPAM!'] 切取部分

內置函數列表及方法:

Python中包括下麵的列表函數功能:

SN 函數及描述
1 cmp(list1, list2)
比較兩個列表的元素
2 len(list)
給出列表的總長度
3 max(list)
從列表中,項目的最大值
4 min(list)
從列表中,項目的最小值
5 list(seq)
一個元組到列表的轉換

Python中包括下麵的列表的方法

SN 方法及描述
1 list.append(obj)
添加obj對象到列表
2 list.count(obj)
計算返回obj出現在列表的次數
3 list.extend(seq)
附加序列seq內容到列表
4 list.index(obj)
返回列表中出現obj的最小索引
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比較(如果給定)