Python3 列表
Python3 列表
序列是 Python 中最基本的資料結構。
序列中的每個值都有對應的位置值,稱之為索引,第一個索引是 0,第二個索引是 1,依此類推。
Python 有 6 個序列的內建型別,但最常見的是列表和元組。
列表都可以進行的操作包括索引,切片,加,乘,檢查成員。
此外,Python 已經內建確定序列的長度以及確定最大和最小的元素的方法。
列表是最常用的 Python 資料型別,它可以作為一個方括號內的逗號分隔值出現。
列表的資料項不需要具有相同的型別
建立一個列表,只要把逗號分隔的不同的資料項使用方括號括起來即可。如下所示:
list1 = ['Google', 'itread01', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
list4 = ['red', 'green', 'blue', 'yellow', 'white', 'black']
訪問列表中的值
與字串的索引一樣,列表索引從 0 開始,第二個索引是 1,依此類推。
通過索引列表可以進行擷取、組合等操作。
例項
#!/usr/bin/python3
list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[0] )
print( list[1] )
print( list[2] )
list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[0] )
print( list[1] )
print( list[2] )
以上例項輸出結果:
red green blue
索引也可以從尾部開始,最後一個元素的索引為 -1,往前一位為 -2,以此類推。
例項
#!/usr/bin/python3
list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[-1] )
print( list[-2] )
print( list[-3] )
list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[-1] )
print( list[-2] )
print( list[-3] )
以上例項輸出結果:
black white yellow
使用下標索引來訪問列表中的值,同樣你也可以使用方括號 [] 的形式擷取字元,如下所示:
例項
#!/usr/bin/python3
nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
print(nums[0:4])
nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
print(nums[0:4])
以上例項輸出結果:
[10, 20, 30, 40]
使用負數索引值擷取:
例項
#!/usr/bin/python3
list = ['Google', 'itread01', "Zhihu", "Taobao", "Wiki"]
# 讀取第二位
print ("list[1]: ", list[1])
# 從第二位開始(包含)擷取到倒數第二位(不包含)
print ("list[1:-2]: ", list[1:-2])
以上例項輸出結果:
list[1]: itread01 list[1:-2]: ['itread01', 'Zhihu']
更新列表
你可以對列表的資料項進行修改或更新,你也可以使用 append() 方法來新增列表項,如下所示:
例項(Python 3.0+)
#!/usr/bin/python3
list = ['Google', 'itread01', 1997, 2000]
print ("第三個元素為 : ", list[2])
list[2] = 2001
print ("更新後的第三個元素為 : ", list[2])
list1 = ['Google', 'itread01', 'Taobao']
list1.append('Baidu')
print ("更新後的列表 : ", list1)
注意:我們會在接下來的章節討論 append() 方法的使用。
以上例項輸出結果:
第三個元素為 : 1997 更新後的第三個元素為 : 2001 更新後的列表 : ['Google', 'itread01', 'Taobao', 'Baidu']
刪除列表元素
可以使用 del 語句來刪除列表的的元素,如下例項:
例項(Python 3.0+)
#!/usr/bin/python3
list = ['Google', 'itread01', 1997, 2000]
print ("原始列表 : ", list)
del list[2]
print ("刪除第三個元素 : ", list)
以上例項輸出結果:
原始列表 : ['Google', 'itread01', 1997, 2000] 刪除第三個元素 : ['Google', 'itread01', 2000]
注意:我們會在接下來的章節討論 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 in [1, 2, 3] | True | 元素是否存在於列表中 |
for x in [1, 2, 3]: print(x, end=" ") | 1 2 3 | 迭代 |
Python列表擷取與拼接
Python的列表擷取與字串操作型別,如下所示:
L=['Google', 'itread01', 'Taobao']
操作:
Python 表示式 | 結果 | 描述 |
---|---|---|
L[2] | 'Taobao' | 讀取第三個元素 |
L[-2] | 'itread01' | 從右側開始讀取倒數第二個元素: count from the right |
L[1:] | ['itread01', 'Taobao'] | 輸出從第二個元素開始後的所有元素 |
>>>L=['Google', 'itread01', 'Taobao']
>>> L[2]
'Taobao'
>>> L[-2]
'itread01'
>>> L[1:]
['itread01', 'Taobao']
>>>
列表還支援拼接操作:
>>>squares = [1, 4, 9, 16, 25]
>>> squares += [36, 49, 64, 81, 100]
>>> squares
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>>
巢狀列表
使用巢狀列表即在列表裡建立其它列表,例如:
>>>a = ['a', 'b', 'c']
>>> n = [1, 2, 3]
>>> x = [a, n]
>>> x
[['a', 'b', 'c'], [1, 2, 3]]
>>> x[0]
['a', 'b', 'c']
>>> x[0][1]
'b'
Python列表函式&方法
Python包含以下函式:
序號 | 函式 |
---|---|
1 | len(list) 列表元素個數 |
2 | max(list) 返回列表元素最大值 |
3 | min(list) 返回列表元素最小值 |
4 | list(seq) 將元組轉換為列表 |
Python包含以下方法:
序號 | 方法 |
---|---|
1 | list.append(obj) 在列表末尾新增新的物件 |
2 | list.count(obj) 統計某個元素在列表中出現的次數 |
3 | list.extend(seq) 在列表末尾一次性追加另一個序列中的多個值(用新列表擴充套件原來的列表) |
4 | list.index(obj) 從列表中找出某個值第一個匹配項的索引位置 |
5 | list.insert(index, obj) 將物件插入列表 |
6 | list.pop([index=-1]) 移除列表中的一個元素(預設最後一個元素),並且返回該元素的值 |
7 | list.remove(obj) 移除列表中某個值的第一個匹配項 |
8 | list.reverse() 反向列表中元素 |
9 | list.sort( key=None, reverse=False) 對原列表進行排序 |
10 | list.clear() 清空列表 |
11 | list.copy() 複製列表 |