在Python中,清單是基本的資料類型。清單中可以包含多個元素,這樣就可以編寫程式來處理大量資料。清單是一個值,它包含多個元素構成的序列。清單可以儲存在變量中,或傳遞給函數,作為函數的傳回值。清單的表示方式如下:
['dog', 'cat', 'pig', 'duck']
- 清單資料類型
清單用左方括号開始,右方括号結束。清單中的值也稱為元素,元素間用逗号隔開。在已經安裝Python環境下(現在的開發環境是Python3.8.5)。
>>> ['dog', 'cat', 'pig', 'duck']
['dog', 'cat', 'pig', 'duck']
>>> ['cat', 123456, True, None, 3.20]
['cat', 123456, True, None, 3.2]
>>> Instance=['dog', 'cat', 'pig', 'duck']
>>> Instance
['dog', 'cat', 'pig', 'duck']
清單可以被賦予一個值:清單值,如上面例子中指派給Instance,清單值本身包含多個元素,同一個清單中的元素間的資料類型可以相同,也可以不同,如上面例子中的cat是字元串型,123456是整型,True是布爾型等。
1.1 用下标取得清單中的單個值
元素可以通過清單值加索引值擷取。清單中的每個元素都有編号值,即其索引。第一種按照從左到右的方式,第一個位置是0,第二個位置是1,一直到N。将清單['dog','cat','pig','duck']儲存到變量Instance中,采用0,1..N的方式進行取值,如下所示。
>>> Instance=['dog','cat','pig','duck']
>>> Instance
['dog', 'cat', 'pig', 'duck']
>>> Instance[0]
'dog'
>>> Instance[1]
'cat'
>>> Instance[2]
'pig'
>>> Instance[3]
'duck'
第二種按照從右往左的方式,第一個位置是-1,第二個位置是-2,一直到 —N。
>>> Instance=['dog','cat','pig','duck']
>>> Instance
['dog', 'cat', 'pig', 'duck']
>>> Instance[-1]
'duck'
>>> Instance[-2]
'pig'
>>> Instance[-3]
'cat'
>>> Instance[-4]
'dog'
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5yY4kzMkZDZ2ITZhNjY2ATZyYmM0QmNjhzM0IGZkdjNj9CX0JXZ252bj91Ztl2Lc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
圖1 索引位置
索引值的取值範圍是[0,清單長度-1],如果使用的索引值超過值個數,Python将給出IndexError的錯誤資訊。
>>> Instance
['dog', 'cat', 'pig', 'duck']
>>> Instance[100]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
1.2 用切片取得子清單
使用下标可以從清單中取得單個元素,使用切片可以從清單中獲得一個新的子清單。切片輸入在一對方括号中,有兩個冒号分隔的整數。在一個切片中,第一個整數是切片開始處的下标,第二個整數是切片結束處的下标,但不包括它。切片求值為一個新的清單值。
>>> Instance=['dog','cat','pig','duck']
>>> Instance[0:3]
['dog', 'cat', 'pig']
>>> Instance[1:4]
['cat', 'pig', 'duck']
>>> Instance[0:-1]
['dog', 'cat', 'pig']
1.3 修改、添加和删除
在實際的應用場景中,清單都是動态變化的,清單值會随着程式的運作增加、删除和修改。 比如你建立一個任務清單,當新增加1個任務時,程式可以将這個任務添加到清單中。當某個任務執行完畢後,可以從清單中将該任務删除。當某個任務需要修改時,可以在清單中直接進行修改。
- 修改元素
由于清單是可修改的,可以通過索引值指定要修改的元素,采用指派的方式直接修改。
>>> Instance= ['dog', 'cat', 'pig', 'duck']
>>> print(Instance)
['dog', 'cat', 'pig', 'duck']
>>> Instance[0]='fox'
>>> print(Instance)
['fox', 'cat', 'pig', 'duck']
- 添加元素
我們可以在清單的尾部添加元素,你可以在清單的任意位置添加元素。
使用append函數在尾部添加元素
>>> Instance= ['dog', 'cat', 'pig', 'duck']
>>> print(Instance)
['dog', 'cat', 'pig', 'duck']
>>> Instance.append('chicken')
>>> print(Instance)
['fox', 'cat', 'pig', 'duck', 'chicken']
使用insert在清單的任意位置添加元素
>>> Instance= ['dog', 'cat', 'pig', 'duck']
>>> print(Instance)
['dog', 'cat', 'pig', 'duck']
>>> Instance.insert(1,'cow')
>>> print(Instance)
['dog', 'cow', 'cat', 'pig', 'duck']
- 删除元素
使用del删除指定位置的元素
>>> Instance= ['dog', 'cat', 'pig', 'duck']
>>> print(Instance)
['dog', 'cat', 'pig', 'duck']
>>> del Instance[0]
>>> print(Instance)
['cat', 'pig', 'duck']
根據值删除元素
>>> Instance= ['dog', 'cat', 'pig', 'duck']
>>> print(Instance)
['dog', 'cat', 'pig', 'duck']
>>> Instance.remove('dog')
>>> print(Instance)
['cat', 'pig', 'duck']