一、建立清單
清單(Lists)屬于Python中的序列類型,它是任意對象的有序集合,通過“位置”或者“索引”通路其中的元素,它具有可變對象、可變長度、異構和任意嵌套的特點。
清單裡第一個元素的“位置”或者“索引”是從“0”開始,第二個元素的則是“1”,以此類推。
在建立清單時,清單元素放置在方括号[] 中,以逗号來分隔各元素,格式如下:
listname = [元素1, 元素2, 元素3, ……, 元素n]
舉例如下:
sample_list1 = [0, 1, 2, 3, 4]
sample_list2 = ["P", "y", "t", "h", "o", "n"]
sample_list3 = ['Python', 'sample', 'list', 'for', 'your', 'reference']
代碼運作如下:
>>> sample_list1 = [0, 1, 2, 3, 4] #清單sample_list1
>>> sample_list2 = ["P", "y", "t", "h", "o", "n"] #清單sample_list2
>>> sample_list3 = ['Python', 'sample', 'list', 'for', 'your', 'reference'] #清單sample_list3
>>> print (sample_list1) #列印輸出清單
[0, 1, 2, 3, 4] #輸出結果
>>> print (sample_list2) #列印輸出清單
['p', 'y', 't', 'h', 'o', 'n'] #輸出結果
>>> print (sample_list3) #列印輸出清單
['Python', 'sample', 'list', 'for', 'your', 'reference'] #輸出結果
清單中允許有不同資料類型的元素,例如:
sample_list4 = [0, "y", 2, "h", 4, "n", 'Python']
但通常建議清單中元素最好使用相同的資料類型。
清單可以嵌套使用,例如:
sample_list5 = [sample_list1, sample_list2, sample_list3]
運作結果如下:
>>> sample_list1 = [0, 1, 2, 3, 4]
>>> sample_list2 = ["P", "y", "t", "h", "o", "n"]
>>> sample_list3 = ['Python', 'sample', 'list', 'for', 'your', 'reference']
>>> sample_list5 = [sample_list1, sample_list2, sample_list3] #建立一個嵌套清單
>>> print (sample_list5)
[[0, 1, 2, 3, 4], ['P', 'y', 't', 'h', 'o', 'n'], ['Python', 'sample', 'list', 'for', 'your', 'reference']]
二、使用清單
通過使用“位置”或者“索引”來通路清單中的值,将其放在方括号中。特别注意,“位置”或者“索引”是從0開始,例如引用上一節清單示例 sample_list1中的第1個,可以寫成:sample_list1[0];引用第3個值,可以寫成:sample_list1[2]。代碼示例為:
>>> print ("sample_list1[0]: ", sample_list1[0]) #輸出索引為0的元素
sample_list1[0]: 0
>>> print ("sample_list1[2]: ", sample_list1[2]) #輸出索引為2的元素
sample_list1[2]: 2
可以在方括号中使用“負整數”,如:sample_list1[-2],意為從清單的右側開始倒數2個的元素,即索引倒數第2的元素。
>>> print ("sample_list1[-2]: ", sample_list1[-2])#輸出索引倒數第2的元素
sample_list1[-2]: 3
以在方括号中用冒号分開的兩個整數來截取清單中的元素,例如sample_list2[2:4],可取得清單sample_list2中的第3個和第4個元素,不包含第5個元素。
>>> sample_list2 = ["p", "y", "t", "h", "o", "n"]
>>> print ("sample_list2[2:4]:", sample_list2[2:4])
sample_list2[2:4]: ['t', 'h']
該類操作被稱為“切片”操作(slice)。
對清單的元素進行修改時,可以使用指派語句:
>>> sample_list3 = ['python', 'sample', 'list', 'for', 'your', 'reference']
>>> sample_list3[4] = 'my'
>>> print ("sample_list3[4]:", sample_list3[4])
sample_list3[4]: my
>>> print ("sample_list3:", sample_list3)
sample_list3: ['python', 'sample', 'list', 'for', 'my', 'reference']
三、删除清單元素
删除清單的元素,可以使用 del 語句,格式為:
del listname[索引]
該索引的元素被删除後,後面的元素将會自動移動并填補該位置。
在不知道或不關心元素的索引時,可以使用清單内置方法remove()來删除指定的值,例如:
listname.remove('值')
清空清單,可以采用重新建立一個與原清單名相同的空間清單的方法,例如:
listname = []
删除整個清單,也可以使用del語句,格式為:
del listname
代碼示例如下:
>>> sample_list4 = [0, "y", 2, "h", 4, "n", 'Python']
>>> del sample_list4[5] #删除清單中索引為5的元素
>>> print ("after deletion, sample_list4: ", sample_list4)
after deletion, sample_list4: [0, 'y', 2, 'h', 4, 'Python']
>>> sample_list4.remove('Python') #删除清單中值為Python的元素
>>> print ("after removing, sample_list4: ", sample_list4)
after removing, sample_list4: [0, 'y', 2, 'h', 4]
>>> sample_list4 = [] #重新建立清單并置為空
>>> print (sample_list4) #輸出該清單
[]
>>> del sample_list4 #删除整個清單
>>> print (sample_list4) #列印輸出整個清單
Traceback (most recent call last):
File "<pyshell#108>", line 1, in <module>
print (sample_list4)
NameError: name 'sample_list4' is not defined #系統報告該清單未定義
四、清單的内置函數與其他方法
>>> len(sample_list1) #清單裡的元素數量
5
>>> max(sample_list1) #清單中元素的最大值
4
>>> min(sample_list1) #清單中元素的最小值