Python中列表詳解
阿新 • • 發佈:2020-09-08
一、列表
1.列表是Python中常用的資料型別之一,書寫格式為:使用一對中括號包含列表內容 list=[]
2.建立列表
- 建立一個空列表
- 建立一個普通列表
- 建立一個混合列表
#建立一個空列表 list1=[] #建立一個普通列表 list2=[1,23,4,5] #建立一個混合列表 list=[1,2,True,12.58,'你好',[1,2,3],{'name':"小明"},(12,3)] 輸出結果: print(list1) print(list2) print(list)
3.列表可以存放的內容
- 列表可以存放Python中所學的所有型別
#列表list list=[1,2,True,12.58,'
4.計算列表的長度,使用len()方法
#計算列表的長度 list=[1,2,True,12.58,'你好',[1,2,3],{'name':"小明"},(12,3)] print(len(list)) 輸出結果: 8
5.獲取列表中的值,也是使用索引去獲取(使用方法和字串索引相同)
- 通過索引找到列表對應的值,返回結果還是個列表
- 該元素是什麼資料型別,索引得到的結果就是什麼資料型別,不會發生改變
#通過索引獲取列表元素 list=[1,2,True,12.58,'你好',[1,2,3],{'name':"小明"},(12,3)] print(list[2]) #獲取列表中索引值為2的元素 對應為True print(type(list[2])) #獲取的元素的數量型別,和之前的資料型別一樣 print(list[5]) print(type(list[5])) print(list[6]) print(type(list[6])) print(list[7])
- 列表的切片,得到的結果還是個列表
#列表list list=[1,2,True,12.58,'你好',[1,2,3],{'name':"小明"},(12,3)] print(list[0:5]) #從頭到索引為5的位置,所有的元素,取頭不取尾 print(list[::2]) #取出列表中,步長為2的資料 print(list[0:6:3]) #取出從頭到索引值為6的資料中,步長為3的資料 print(type(list[0:6:3])) #進行切片後得到的結果,還是列表 輸出結果: [1, 2, True, 12.58, '你好'] [1, True, '你好', {'name': '小明'}] [1, 12.58] <class 'list'>
二、列表的常用操作(增刪改查)
1.列表新增元素
- 使用append()方法,預設是在列表末尾追加新的物件,也就是將引數作為一個元素增加到列表尾部。(append的引數只有一個,append一次只能新增一個元素)
#使用append新增元素 list3=[1,4,5] list3.append(['你好',10]) #新增一個列表 print(list3) 輸出結果: [1, 4, 5, ['你好', 10]]
- append()方法對列表作用,但是實際的新增過程,返回的結果為None,這是python中append()方法的實現規則
#列表末尾追加元素 list3=[1,4,5] list3.append(['你好',10]) print(list3) print(list3.append(['你好',10])) 輸出結果: [1, 4, 5, ['你好', 10]] None
- extend():在列表的尾部一次性追加另一個序列中的多個值,即將引數作為一個列表去擴充套件原列表,列表合併
#向列表list中,追加列表list3 list=[1,2,True,12.58,'你好',[1,2,3],{'name':"小明"},(12,3)] list3=[1,4,5] list.extend(list3) print(list) 輸出結果: [1, 2, True, 12.58, '你好', [1, 2, 3], {'name': '小明'}, (12, 3), 1, 4, 5]
- insert() :在指定的位置插入對應的引數,insert()接收兩個引數,第一個引數傳入的是指定插入的位置,第二個引數傳入的是指定位置待插入的引數
#在索引值為1的位置插入一個字串 list=[1,2,True,12.58,'你好',[1,2,3],{'name':"小明"},(12,3)] list.insert(1,"歡迎使用列表list") print(list) 輸出結果: [1, '歡迎使用列表list', 2, True, 12.58, '你好', [1, 2, 3], {'name': '小明'}, (12, 3)]
2.刪除列表中的元素
- remove() :刪除指定的內容(不知道索引的位置,值知道列表中的具體內容,一定是存在的引數才可以刪除,列表中不存在的是無法操作,會報錯:ValueError: list.remove(x): x not in list)
#移除列表元素 list=[1,2,True,12.58,'你好',[1,2,3],{'name':"小明"},(12,3)] list.remove('你好') print(list) list.remove('nihao') #移除的列表元素不存在 輸出結果: [1, 2, True, 12.58, [1, 2, 3], {'name': '小明'}, (12, 3)] ValueError: list.remove(x): x not in list #移除不存在的元素會報錯
- remove()只能移除一個元素,如果列表中含有多個相同元素,預設是移除第一個
list=[1,2,True,12.58,'你好',[1,2,3],'你好',{'name':"小明"},'你好',(12,3)] list.remove('你好') print(list) 輸出結果: [1, 2, True, 12.58, [1, 2, 3], '你好', {'name': '小明'}, '你好', (12, 3)]
- pop() :刪除指定的索引位置,返回結果是刪除的元素值(pop()如果不傳入對應的索引值,預設是移除列表中的最後一個元素)
#指定pop()刪除的索引值 list=[1,2,True,12.58,'你好',[1,2,3],'你好',{'name':"小明"},'你好',(12,3)] ele=list.pop(-2) print(ele) print(list) 輸出結果: 你好 [1, 2, True, 12.58, '你好', [1, 2, 3], '你好', {'name': '小明'}, (12, 3)] #未指定pop()索引值 list=[1,2,True,12.58,'你好',[1,2,3],'你好',{'name':"小明"},'你好',(12,3)] ele1=list.pop() print(ele1) print(list) 輸出結果: (12, 3) [1, 2, True, 12.58, '你好', [1, 2, 3], '你好', {'name': '小明'}, '你好']
三、修改列表元素
- 通過索引值取出對應元素,用新的元素替換掉舊的元素
#使用索引值取出需要修改的元素,然後進行替換 list=[1,2,True,12.58,'你好',[1,2,3],'你好',{'name':"小明"},'你好',(12,3)] list[-2]="藍天" print(list) 輸出結果: [1, 2, True, 12.58, '你好', [1, 2, 3], '你好', {'name': '小明'}, '藍天', (12, 3)]
四、列表中常用的函式方法
- clear() 清除列表元素(其中,list.clear() 返回結果為None)
list=[1,2,True,12.58,'你好',[1,2,3],'你好',{'name':"小明"},'你好',(12,3)] list.clear() print(list.clear()) print(list) 輸出結果: None []
- sort() 排序,是對列表中的數字進行排序,文字,字串不需要排序
list=[12,22,3,6,5,8,90] list.sort() print(list) 輸出結果: [3, 5, 6, 8, 12, 22, 90]
- reverse() 降序,是對列表中的數字進行降序,文字,字串不需要
#先將列表進行排序,然後再由大到小的方式進行降序的方法 list=[12,22,3,6,5,8,90] list.sort(reverse=True) print(list) 輸出結果: [90, 22, 12, 8, 6, 5, 3] #直接對原有的列表進行降序 list=[12,22,3,6,5,8,90] list.reverse() print(list) 輸出結果: [90, 8, 5, 6, 3, 22, 12]