1. 程式人生 > >Python中列表的一些方法

Python中列表的一些方法

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'] 從大到小排列