Python基礎-基本資料型別(下)——list

Python中列表(

List

)是一個非常強大的 ‘集合’,它可以包羅永珍,只要是符合Python基本資料型別的資料List都能裝進去,還是有序的,而不像set那樣只能裝不可變型別資料,並且無序。

有關set集合特性請參看

Python基礎-基本資料型別(下)——set

Python基礎-基本資料型別(下)——list

list栗子:

# coding:UTF-8def data(): list_data = [] # 初始化列表 b = {‘a’: 1, ‘b’: 2} # 字典 c = 2 # int d = ‘data’ # string e = (1, 2) # 元祖 f = [‘da’] # List g = {5} # set h = 1。5 # float list_data。append(b) list_data。append(c) list_data。append(d) list_data。append(e) list_data。append(f) list_data。append(g) list_data。append(h) print(list_data)if __name__ == ‘__main__’: data()# ===============================# 輸出:[{‘a’: 1, ‘b’: 2}, 2, ‘data’, (1, 2), [‘da’], {5}, 1。5]

輸出順序和新增順序保持一致

Python基礎-基本資料型別(下)——list

場景一:訪問List中的元素

同基本資料型別string同理,List中元素同樣有其

下標

(索引),先來看看string中的元素與下標之間的關係

Python基礎-基本資料型別(下)——list

要訪問List中的元素資料,也可以使用下標來獲取

Python基礎-基本資料型別(下)——list

# coding:UTF-8def data(): list_data = [‘data’, 55, (1, 2), {‘a’: 1, ‘b’: 2}, 5。5, [‘da’, 7]] data01 = list_data[0] print(data01) # data print(type(data01)) # data02 = list_data[-6] print(data02) # data print(type(data02)) # if __name__ == ‘__main__’: data()

如果訪問下標(索引)超出了列表的範圍則會報索引越界錯誤

IndexError: list index out of range

然而當使用

list[a:b]

這樣的方式去切列表的時候並不會報錯

注:

list[a:b]

中a為起始索引,b為截止索引,意思是取出索引從a開始一直到索引b終止的資料,不包含b索引資料,即左閉右開原則

類似於

list[0:9]

的形式。終止索引的值即使超過 list 的

正向最大索引

也不會報錯的,當b大於正向最大索引時,可以理解為:

從起始索引一直擷取到最後一個數據

list_data = [‘data’, 55, (1, 2), {‘a’: 1, ‘b’: 2}, 5。5, [‘da’, 7]]first_data = list_data[2:500] # 500大於最大索引值print(first_data)# 輸出(並沒有報錯)[(1, 2), {‘a’: 1, ‘b’: 2}, 5。5, [‘da’, 7]]# 開頭不寫預設從索引為0開始擷取first_data = list_data[:2] print(first_data) # 輸出 [‘data’, 55]

對於正向擷取上述擷取甚至可以寫成

list_data[2:]

也是擷取到最後一個元素的意思

對於負向索引擷取時同理,都不會報錯

需要注意的

對於

list[a:b]

擷取和字串型別的擷取,在負向索引擷取時有個不同點,string字串負向索引擷取時會擷取到的為空,這點需要注意下

以下是字串型別的擷取規則

Python基礎-基本資料型別(下)——list

說白了就是,在對於List和string透過下標去擷取時,只有在負向擷取上有差異

list 負向擷取

超出最大索引時可以正常擷取

string 負向擷取

超出最大索引時取道的為空

場景二:訪問list中的元素並取得該元素的下標

對於訪問集合型別資料,沒有什麼是for迴圈解決不了的,list資料也一樣,通常透過for迴圈來順序訪問list中的元素:

list_data = [‘data’, 55, (1, 2), {‘a’: 1, ‘b’: 2}, 5。5, [‘da’, 7]]for i in list_data:print(i)# 輸出 data 55 (1, 2) {‘a’: 1, ‘b’: 2}5。5[‘da’, 7]

上述這種只能迴圈出list中的元素,如果要順帶迴圈出每個元素的索引就需要使用

enumerate

函式

list_data = [‘data’, 55, (1, 2), {‘a’: 1, ‘b’: 2}, 5。5, [‘da’, 7]]for index, ele in enumerate(list_data):print(‘索引’ + str(index))print(ele)# 輸出索引0 data 索引1 55 索引2 (1, 2) 索引3 {‘a’: 1, ‘b’: 2} 索引4 5。5 索引5 [‘da’, 7]

以上就是有關list集合常用到的部分操作,更多list集合方法的實踐操作請參考API文件

python-3。86 API文件手冊 中文版。chm

https://wwi。lanzoui。com/iyu4Erjndgd提取碼:data

更多精彩內容請關注 公眾號:

資料與程式設計之美