標籤:bcd 指定 move soft ever 元素 一個 操作 false
list1 = [1,2,3,4,5,6,7,8,9,10]
list2 = [‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘]
基本操作1.刪除指定元素
del list1[2] 刪除了列表內的3
支援切片:del list1[1:3]即可刪除列表內的2和3
2.分區賦值
1 name = list(‘LiXiaolong‘)2 name3 [‘L‘,‘i‘,‘X‘,‘i‘,‘a‘,‘o‘,‘l‘,‘o‘,‘n‘,‘g‘]4 name[2:] = ‘Lianjie‘5 name6 [‘L‘,‘i‘,‘L‘,‘i‘,‘a‘,‘n‘,‘j‘,‘i‘,‘e‘]
雖然後來的LiLianjie比原來的LiXiaolong字元長度少1,但是經過第4行代碼:
name[2:] = ‘Lianjie‘後,原來的列表長度被更改了
列表的方法 1.count
用於計算某個元素出現的次數
1 list1.count(1)2 1
2.extend
extend方法可以在列表末尾追加另一個列表的值,即擴充了原有列表
list1.extend(list2)[1,2,3,4,5,6,7,8,9,10,‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘]
我知道你想說.這個方法頂個和鳥用,我一個串連符+教你做人
別燥,該方法與+的區別是,該方法屬於原地操作,而+會返還一個包含兩個列表的副本,原列表沒有改變
如果採用list1 = list1 + list2這樣的方法,效率上就吃虧了
當然你也可以這樣實現
list1[len(list1):] = list2
但是可讀性上就遠不如此方法了
3.index
用於從列表中尋找第一個匹配的值
1 list1.index(10)2 ouput:9
p.s.:rindex方法只有字串有,列表沒有
4.insert
insert方法能在列表指定位置前插入指定元素,故需寫入兩個參數
list1.insert(3,11)output:[1,2,3,11,4,5,6,7,8,9,10]
可理解成在第幾個元素後插入XX
5.remove
在列表中刪除第一個匹配的元素
list1.remove(1)output:[2,3,4,5,6,7,8,9,10]
注意:每次只能刪除一個元素,不能大量刪除
6.reverse
對列表進行反向存放,屬於原地操作
list1.reverse()output:[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
7.sort
sort方法是按固定排序對列表進行排序,但要注意,以下是此方法典型的錯誤使用:
list1.reverse()#先對list1進行反向排序list2 = list1.sort() #錯誤的開始list2output:None
list1
output:[1,2,3,4,5,6,7,8,9,10]
之所以列表list2為空白,是因為列表list1在調用sort方法後並未返回排好的列表list1,而是返回了一個空值None,
但是列表list1卻已經進行了排序操作
所以如果你想擷取一個排序後的列表,同時保留原列表,那麼應該這樣做:
list1.reverse()list3 = list1[:]list3.sort()list1
output:[10,9,8,7,6,5,4,3,2,1]
list3
ouput:[1,2,3,4,5,6,7,8,9,10]
list3 = list1[:] 與 list3 = list1的區別在於:前者是獲得了list1的副本,後者只是讓list3簡單地指向了list1
另外,sort方法還提供兩個關鍵字參數(key和reverse)實現自訂排序
key參數應當傳入排序的方法函數名,reverse為一個布爾值,確定是否反向排序
a = [‘abcd‘,‘abc‘,‘ab‘,‘‘abcde]a.sort(key=len,reverse=False)output:[‘abcde‘,‘abcd‘,‘abc‘,‘ab‘]
Python列表常用方法及基本操作