Python中列表(
List
)是一個非常強大的 ‘集合’,它可以包羅永珍,只要是符合Python基本資料型別的資料List都能裝進去,還是有序的,而不像set那樣只能裝不可變型別資料,並且無序。
有關set集合特性請參看
Python基礎-基本資料型別(下)——set
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]
輸出順序和新增順序保持一致
場景一:訪問List中的元素
同基本資料型別string同理,List中元素同樣有其
下標
(索引),先來看看string中的元素與下標之間的關係
要訪問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)) #
如果訪問下標(索引)超出了列表的範圍則會報索引越界錯誤
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字串負向索引擷取時會擷取到的為空,這點需要注意下
以下是字串型別的擷取規則
說白了就是,在對於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
更多精彩內容請關注 公眾號:
資料與程式設計之美