為什麼需要列表?難道一個變數不可以表示嗎?答案是,可以,但很麻煩那麼列表有什麼好處呢
列表的用處變數可以儲存一個元素,但是列表是一個“大容器”,可以儲存N個元素,可以方便對這些資料進行整體操作列表相當於其他語言中的陣列列表的建立#First 使用[]進行建立List = ["I","Love","Python"]#Second 使用list()方法進行建立List = list(["I","Love","Python"])12345
列表的特點列表元素按照建立順序有序排列列表的索引對映唯一 一個數據List = ["I","Love","Python"]print(List[1])#則輸出結果為 Love 12345
列表在記憶體中的儲存列表可以重複儲存資料任意資料型別混存根據需要動態分配和回收記憶體列表的操作列表元素的查詢操作- 獲取列表中的元素的索引
List = ["I","Love","Python"]print(List.index("Love"))#輸出結果為112345
1、如果列表中存在多個相同的元素,則只返回第一個元素的索引值
2、如果查詢的元素不存在,則返回ValueError
3、還可以在指定的範圍內進行查詢
List = ["I","Love","Python"]print(List.index("Love",0,1))#輸出結果為1,在0到1之間查詢12345
獲取單個元素
1、正向索引
List = ["I","Love","Python"]print(List[2])#輸出結果為Python12345
2、逆向索引
List = ["I","Love","Python"]print(List[-1])#輸出結果為Python12345
3、如果元素不存在,則丟擲IndexError錯誤
獲取多個元素1、透過切片來獲取 列表名[start,stop,step]
List = ["I","Love","Python"]print(List[0:2:1])#輸出結果為['I','Love']#由於步長可以省略,所以step可以不寫print(List[0:2])#輸出結果依然為['I','Love']print(List[0:3:2])#設定步長為2.輸出結果為['I','Python']print(List[2:0:-1])#若設定步長為-1,則start為最後一個元素,stop預設為第一個元素#輸出結果為['Python','Love']123456789101112131415
需要注意的是,切片操作,會創造新的列表物件,即物件的id(在記憶體中的位置)會改變
判斷列表元素是否存在列表元素的增加操作append()函式List = ['I','Love','Python']List.append('Very Much')print(List)#輸出結果為['I','Love','Python','Very Much']1234
但是,如果想要加入[‘Very’,‘Much’]兩個元素的話,用append()函式,會將兩個元素當作一個列表元素插入列表中
List = ['I','Love','Python']List.append(['Very','Much'])print(List)#則會輸出['I','Love','Python',['Very','Much']]12345
extend()函式使用entend()函式則不會出現以上情況
List = ['I','Love','Python']List.extend(['Very','Much'])print(List)#則會輸出['I','Love','Python','Very','Much']1234
insert()函式會在指定位置插入元素
List = ['I','Love','Python']List.insert(3,"Very Much")print(List)#輸出結果為 ['I', 'Love', 'Python', 'Very Much']1234
使用切片進行替換
List = ['I', 'Love', 'Python']List[2:] = ["C++"]print(List)#輸出結果為 ['I', 'Love', 'C++']1234
列表元素的刪除