列表方法与字符串方法有许多不同。尤其是列表方法通常运行后,该表列表本身发生变化;而字符串通常得到一个新串,原字符串不变。
(一)添加
1、L.append(object) 将object作为一个整体元素,添加到列表L的最后。
2、L.insert(index,object) 将object作为一个整体元素,添加到列表L的index位置。
3、L.extend(iterable) 将iterable的每一个元素,分别作为一个元素,添加到列表L的最后。
myList = list(['my','list',1,'s']) for i in myList: print(i,end='\t') #显示: my list 1 s print() myList.append('append') for i in myList: print(i,end='\t') #显示: my list 1 s append print() myList.insert(2,'insert[2]') for i in myList: print(i,end='\t') #显示: my list insert[2] 1 s append print() myList.extend('extend') for i in myList: print(i,end='\t') #显示: my list insert[2] 1 s append e x t e n d print()
(二)删除
1、L.clear() 清除列表中的所有元素。
myList = list(['my','list',1,'s']) for i in myList: print(i,end='\t') #显示: my list 1 s print() myList.clear() for i in myList: print(i,end='\t') #显示: 空 print()
2、L.pop(index=last) 删除列表L中index位置的元素,index默认最后一位。删除的元素可以传递给变量。
注意:当index超出范围、或者L为空时,报错。
3、del L[index] 删除列表L中index位置的元素。删除的元素被丢弃。当index超出范围、或者L为空时,报错。
myList = list(['my','list',1,'s']) for i in myList: print(i,end='\t') #显示: my list 1 s print() # p = myList.pop(1) # for i in myList: # print(i,end='\t') #显示: my 1 s # print() # print(p) #显示: list del myList[2] for i in myList: print(i,end='\t') #显示: my list s print()
4、L.remove(value) 删除列表L中与value相同的元素。
myList = list(['my','list',1,'s']) for i in myList: print(i,end='\t') #显示: my list 1 s print() myList.remove('list') for i in myList: print(i,end='\t') #显示: my 1 s print()
(三)复制
L.copy() 复制一份与列表L的元素相同的列表,复制列表和原列表分别占用不同的内存空间。
myList = list(['my','list',1,'s']) for i in myList: print(i,end='\t') #显示: my list 1 s print() myListCopy = myList.copy() for i in myListCopy: print(i,end='\t') #显示: my list 1 s print() #L.copy()的复制文件和原文件,占用不同的内存空间。 print(id(myList)) #显示:43432840 print(id(myListCopy)) #显示:31596744
(四)查找
1、L.count(value) 在列表L中查找value元素个数。
myList = list(['my','list',1,'s','s','s']) for i in myList: print(i,end='\t') #显示: my list 1 s print() print(myList.count('s')) #显示: 3
2、L.index(value, start=None, stop=None) 在列表L中查找value元素第一次出现的位置,可以通过start和stop设置查找范围。
注意:列表中没有find()和rindex()方法。
myList = list(['my','list',1,'s','s','s','s']) for i in myList: print(i,end='\t') #显示: my list 1 s print() print(myList.count('s')) #显示: 4 print(myList.index('s')) #显示: 3 print(myList.index('s',3,5)) #显示: 3
(五)反转
1、L.reverse() 将列表L中的元素首尾颠倒次序。
myList = list(['my','list',1,'s','s','s','s']) for i in myList: print(i,end='\t') #显示: my list 1 s s s s print() myList.reverse() for i in myList: print(i,end='\t') #显示: s s s s 1 list my print()
2、L[::-1] 同样实现列表元素的首尾颠倒排序。
myList = list(['a','b','d','g','v','e']) for i in myList: print(i,end='\t') #显示: a b d g v e print() rMyList = myList[::-1] for i in rMyList: print(i,end='\t') #显示: e v g d b a print()
(六)排序
1、L.sort(reverse=False) 将列表元素进行升序排序,通过设置 reserve=True 可实现降序排序。在原列表上修改。
myList = list(['a','b','d','g','v','e']) for i in myList: print(i,end='\t') #显示: a b d g v e print() myList.sort() #默认升序排列 for i in myList: print(i,end='\t') #显示: a b d e g v print() myList.sort(reverse=True) #可设置降序排列 for i in myList: print(i,end='\t') #显示: v g e d b a print()
2、sorted(L) 将元素升序排列,保持原列表不变,生成新列表。
注意:sorted()可处理列表、字符串、元组等多种数据类型,生成结果均为列表。
# myList = list(['a','b','d','g','v','e']) # for i in myList: # print(i,end='\t') #显示: a b d g v e # print() # #原列表不变,生成新列表 # myListNew = sorted(myList) # for i in myList: # print(i,end='\t') #显示: a b d g v e # print() # for i in myListNew: # print(i,end='\t') #显示: a b d e g v # print() #可以是str等其它形式 myStr = 'decabf124' print(myStr) #显示:decabf124 for i in myStr: print(i,end='\t') #显示: d e c a b f 1 2 4 print() myStrNew = sorted(myStr) print(myStrNew) #显示: ['1', '2', '4', 'a', 'b', 'c', 'd', 'e', 'f'] for i in myStrNew: print(i,end='\t') #显示: 1 2 4 a b c d e f print()
浙公网安备 33010602011771号