列表——由一系列按特定順序排列的元素組成。在Python中,用方括號[]來表示列表,並用逗號來分割其中的元素。如下:
color = ['red','yellow','blue','blank','green']
print(color)
用Python將列表打印出來,Python將打印列表的內部表示,包括方括號:
['red','yellow','blue','blank','green']
下面將介紹如何訪問列表元素。
列表是有序集合,訪問列表元素,只需將該元素的位置或索引告訴Python。
color = ['red','yellow','blue','blank','green']
print(color[0])
運行,輸出:
red
另外,索引是從零開始的,第一個元素的索引為0,第二個元素的索引為2,N個為N-1。在Python中為訪問最後一個列表元素提供了一種特殊語法。將索引指定為-1,可讓Python返回最後一個列表元素:
>>>color = ['red','yellow','blue','blank','green']
>>>print(color[-1])
green
同樣,索引-2返回倒數第二個元素,索引-3返回倒數第三個元素,以此類推。
可像使用其他變量一樣使用列表中的各個值。
>>>color = ['red','yellow','blue','blank','green']
>>>message = "My favorite color is " + color[2] + '.'
>>>print(message)
My favorite color is blue
可以使用拼接根據列表中的值來創建消息。
修改列表元素,通過指定列表名和要修改的元素的索引,在指定該元素新值。
>>>color = ['red','yellow','blue','blank','green']
>>>print(color[0])
red
>>>color[0] = 'white'
>>>print(color[0])
white
>>>print(color)
['white','yellow','blue','blank','green']
我們可以看出,第一個元素的值改變了,後面的元素沒變,我們可以通過賦新值的方式對列表中的各個元素的值進行修改。
在列表中添加元素:
在列表中進行元素的增加,最簡單的就是在列表末尾進行添加,使用append() 將元素添加到列表末尾:
>>>color = ['red','yellow','blue','blank','green']
>>>print(color)
['red','yellow','blue','blank','green']
>>>color.append('white')
>>>print(color)
['red','yellow','blue','blank','green','white']
可見,我們使用append()很輕松的就將新元素‘white’加入到列表末尾,我們也可以先創建一個空列表,到需要時再使用append()語句添加元素。
在列表中插入元素:
使用方法insert()可在列表中任何位置添加新元素。
>>>color = ['red','yellow','blue','blank','green']
>>>print(color)
['red','yellow','blue','blank','green']
>>>color.insert(1,'white')
>>>print(color)
['red','white','yellow','blue','blank','green']
這種操作把列表中加入位置的元素及後面的元素都右移一個位置。
從列表中刪除元素:
1. 使用del語句刪除元素:del元素可以刪除任何位置的元素,刪除後便無法訪問。
>>>color = ['red','yellow','blue','blank','green']
>>>print(color)
['red','yellow','blue','blank','green']
>>>del color[0]
>>>print(color)
['yellow','blue','blank','green']
2.使用方法pop()刪除元素:方法pop()可刪除列表末尾的元素,並且能夠繼續使用。
>>>color = ['red','yellow','blue','blank','green']
>>>print(color)
['red','yellow','blue','blank','green']
>>>color_pop = color.pop()
>>>print(color)
['red','yellow','blue','blank']
>>>print(color_pop)
green
在上述程序中,我們新建一個變量color_pop來存儲pop()彈出的列表末尾元素green,所以,用方法pop()刪除元素,我們依然可以訪問被刪除的值。實際上,我們可以用pop()來刪除列表中任何位置的元素,只需要在索引中指定要刪除元素的索引即可,例如:
>>>color = ['red','yellow','blue','blank','green']
>>>color_pop = color.pop(1)
>>>print(color)
['red','blue','blank','green']
>>>print(color_pop)
yellow
所以,在這裡,我們可以這樣定義這倆種方法:如果要從列表中刪除一個元素且不再以任何方式使用它,就使用del語句;如果想要在刪除元素還繼續使用它,就使用方法pop()。
3. 根據值刪除元素:如果我們不知道要刪除元素的具體位置,只知道要刪除的值,可使用方法remove()
>>>color = ['red','yellow','blue','blank','green']
>>>print(color)
['red','yellow','blue','blank','green']
>>>color.remove('blue')
>>>print(color)
['red','yellow','blank','green']
方法remove() 只刪除第一個指定的值,如果要刪除的值可能在列表中出現多次,就需要使用循環來判斷是否刪除了所有這樣的值。
1. 使用方法sort()對列表進行永久性排序:方法sort()可使列表中元素按字母順序排序,但要先統一字母大小寫。
>>>color = ['red','yellow','blue','blank','green']
>>>color.sort()
>>>print(color)
['blank', 'blue', 'green', 'red', 'yellow']
這個順序的改變是永久性的修改列表元素的排列順序。還可以按字母順序相反的順序排列列表元素,只需向sort()方法傳遞參數reverse=True。
>>>color = ['red','yellow','blue','blank','green']
>>>color.sort(reverse=True)
>>>print(color)
['yellow', 'red', 'green', 'blue', 'blank']
可以使用函數sorted對列表進行臨時排序,函數sorted()讓你能夠按字母順序顯示列表元素,同時不影響他們在原列表中的排列順序。同樣,按與字母順序相反的順序排列,也是向函數sorted()傳遞參數reverse=True。
2. 倒著打印列表:reverse() 反轉列表元素的排列順序,再次調用即可恢復列表排列順序。
>>>color = ['red','yellow','blue','blank','green']
>>>color.reverse()
>>>print(color)
['green', 'blank', 'blue', 'yellow', 'red']
#再次調用reverse(),列表順序又返回原來順序
>>>color.reverse()
>>>print(color)
['red','yellow','blue','blank','green']
3. 確定列表的長度:len(),使用len()可快速獲取列表的長度。
>>>color = ['red','yellow','blue','blank','green']
>>>len(color)
5
Python計算列表元素時從一開始,因此確定列表長度時,不會遇到差一錯誤。len()很有用,我們可以用來確定一個列表中有多少個元素,需要管理多少項可視化數據,有多少注冊用戶等。