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比較(如果給定) |