Python中列表的一些方法
阿新 • • 發佈:2018-11-25
Python中列表的常用內建方法
1.向列表的後面追加 list.append()
2. 清空列表 list.clear()
3. 列表複製 list.copy( ) 深複製 list.deepcopy()
4. 擴充套件原列表 list.extend()
5. 獲取當前值索引的位置 list.index() 左邊的優先找到
6.在列表的指定位置插入指定的元素 list.insert(index,value)
7.刪除列表的某個下標值 list.pop() --通過下標刪除
8.刪除列表中的指定的值 list.remove()
9.切片刪除列表中的某些值 del li[0:-1]
10. 對列表裡的元素進行翻轉 li.reverse()
11.對列表裡的元素進行排序 li.sort()
1.向列表的後面追加 list.append()
li = [1, 2, "sxxs", "TUTE"] li.append("hebut") li.append({"MIA", "xiaodazi"}) # [1, 2, 'sxxs', 'TUTE', 'hebut', {'MIA', 'xiaodazi'}] print(li)
2. 清空列表 list.clear()
#清空列表 li = [1, 2, "sxxs", "TUTE"] li.clear() # [] 所有的元素被清空 print(li)
3. 列表複製 list.copy( ) 深複製 list.deepcopy()
# 淺拷貝 list.copy() **淺拷貝只能拷貝最外層,修改內層則原列表和新列表都會變化。 #使用列表內建的copy方法,是將新列表中的元素指向了與原列表相同的記憶體空間。 # 但是,如果列表中嵌套了列表,拷貝後的列表中巢狀的列表元素指標, # 指向原列表中巢狀列表的整體地址,而不是指向巢狀列表中元素的記憶體地址。 li = [1, 2, "sxxs",["mia","tute"] ] lisecond=li.copy() #對原有的資料進行復制 lisecond= [1, 2, 'sxxs', ['mia', 'tute']] print("lisecond=",lisecond) lisecond[3][1]="yc" #對拷貝後-資料中的列表的修改,影響原有的資料 #li= [1, 2, 'sxxs', ['mia', 'yc']] print("li=",li) #lisecond= [1, 2, 'sxxs', ['mia', 'yc']] print("lisecond=",lisecond)
#深拷貝 lsit.deepcopy() [需要匯入 import copy] **深拷貝是指將原列表完全克隆一份新的。 import copy li = [1, 2, "sxxs",["mia","tute"] ] lisecond=copy.deepcopy(li) #[1, 2, 'sxxs', ['mia', 'tute']] print(lisecond) lisecond[3][1]="yc" #li= [1, 2, 'sxxs', ['mia', 'tute']] print("li=",li) #lisecond= [1, 2, 'sxxs', ['mia', 'yc']] 拷貝後的列表修改後不影響原來的 print("lisecond=",lisecond)
4. 擴充套件原列表 list.extend()
# 擴充套件原來的列表 引數必須是可迭代的物件 li=[1,2,3,"dada",["hebut","Tute"]] li.extend(["mia","yue"]) #[1, 2, 3, 'dada', ['hebut', 'Tute'], 'mia', 'yue'] 迴圈出每一個 print(li)
5. 獲取當前值索引的位置 list.index() 左邊的優先找到
#獲取當前值索引的位置 list.index() 左邊的優先找到 li=["mia",1,4,8,["hebut","tute"],4,4,8,4] m=li.index(4) # 2 找到下標 左邊的優先 print(m) #n=li.index("xiaodazi") ##'xiaodazi' is not in list 列表中沒有回報錯 #print(n)
6.在列表的指定位置插入指定的元素 list.insert(index,value)
# 在指定索引位置處插入元素 li=["hubut",2,6,3,"mia"] li.insert(0,"tute") #['tute', 'hubut', 2, 6, 3, 'mia'] 將字串tute插在了下標為0的地方 print(li) #[[...], 'tute', 'hubut', 2, 6, 3, 'mia'] 將列表本身插在列表本身下標為0的地方 # 自動轉換為插入列表[...] li.insert(0,li) print(li)
7.刪除列表的某個下標值 list.pop() --通過下標刪除
# 刪除列表的某個值 li.pop()預設刪除最後一個 li=["hubut",2,6,3,"mia"] r=li.pop() #r= mia print("r=",r)
#li= ['hubut', 2, 6, 3] print("li=",li) v=li.pop(1) #2 指定刪除第幾個元素 如果指定的下標超過索引會報錯 print(v) #['hubut', 6, 3] print(li)
8.刪除列表中的指定的值 list.remove()
#刪除列表中的指定的值 li=["hubut",2,6,3,"mia"] li.remove(6) #['hubut', 2, 3, 'mia'] 如果要刪除的值不在列表內會報錯 print(li)
9.切片刪除列表中的某些值 del li[0:-1]
li=["hubut",2,6,3,"mia"] del li[2:-1] print(li) #['hubut', 2, 'mia'] 左開右閉區間,刪除從下標為2開始的元素到倒數第1個元素
10. 對列表裡的元素進行翻轉 li.reverse()
li=["da","1","mia","tute"] li.reverse() print("li=",li)#li= ['tute', 'mia', '1', 'da']
11.對列表裡的元素進行排序 li.sort()
#列表排序 li = ["da", "1","b", "z","0","ab","ac"] li.sort() print(li)#['0', '1', 'ab', 'ac', 'b', 'da', 'z'] 按照ASCII碼的順序排列 li.sort(reverse=True) print(li)#['z', 'da', 'b', 'ac', 'ab', '1', '0'] 從大到小排列