先看一些基本的操作
names = ["4ZhangYang", "#!Guyun","xXiangPeng",["alex","jack"],"ChenRonghua","XuLiangchen"] #打印第一個以及第三個元素 print(names[0],names[2])
切片操作:
print(names[1:3]) #打印下標為1到下標為2的元素內容,第3個元素不會被打印,因為python的切片操作是顧頭不顧尾的 print(names[-2:]) #打印倒數第2個到結尾的元素內容 print(names[:3]) #相當於print(names[0:3]) print(names[-3:-1]) #打印倒數第3個到倒數第1個元素的內容,因為python讀列表時從左到右讀取的 print(names[0:-1:2]) #隔一個元素打印 print(names[::2]) #隔一個元素打印 print(names[:]) # 打印全部元素,相當於print(names)
列表自帶的一些函數操作
#增加 names.append("LeiHaidong") #追加一個元素 names.insert(3,"Xinzhiyu") #在指定下標處插入一個元素 #合並一個列表的內容 names2 = [1,2,3,4] names.extend(names2) #刪 names.remove("ChenRonghua") #del names[1] =names.pop(1) del names[1] names.pop(1) #如果使用names.pop(),默認彈出最后一個元素,並返回最后一個元素的內容 names.clear()#清空列表 del names2 #刪除整個列表 #改 names[2] ="XieDi" #直接替代下標為2的元素內容 names.reverse() #元素內容反轉 names.sort()#排序 #查 print(names.index("XieDi")) print(names.count("ChenRonghua")) #統計此內容的元素個數
淺拷貝以及深拷貝
先看淺拷貝
names = ["4ZhangYang", "#!Guyun","xXiangPeng",["alex","jack"],"ChenRonghua","XuLiangchen"] name2 = names.copy() #相當於copy.copy(names)或者name2 = name[:] 或者 names2 = list(names) print(names) print(name2) names[2] = "向鵬" names[3][0] ="ALEXANDER"
運行結果:
['4ZhangYang', '#!Guyun', 'xXiangPeng', ['alex', 'jack'], 'ChenRonghua', 'XuLiangchen'] ['4ZhangYang', '#!Guyun', 'xXiangPeng', ['alex', 'jack'], 'ChenRonghua', 'XuLiangchen'] ['4ZhangYang', '#!Guyun', '向鵬', ['ALEXANDER', 'jack'], 'ChenRonghua', 'XuLiangchen'] ['4ZhangYang', '#!Guyun', 'xXiangPeng', ['ALEXANDER', 'jack'], 'ChenRonghua', 'XuLiangchen'] #注意向鵬這一項,names2沒有跟着改,而alex這一項全改了 Process finished with exit code 0
.copy()只能進行淺拷貝,復制到第一層,當列表當中還存在列表,就只會直接引用被復制元素的列表地址。
深拷貝
import copy names = ["4ZhangYang", "#!Guyun","xXiangPeng",["alex","jack"],"ChenRonghua","XuLiangchen"] name2 = copy.deepcopy(names) #深拷貝 print(names) print(name2) names[2] = "向鵬" names[3][0] ="ALEXANDER" print(names) print(name2)
運行結果:
['4ZhangYang', '#!Guyun', 'xXiangPeng', ['alex', 'jack'], 'ChenRonghua', 'XuLiangchen'] ['4ZhangYang', '#!Guyun', 'xXiangPeng', ['alex', 'jack'], 'ChenRonghua', 'XuLiangchen'] ['4ZhangYang', '#!Guyun', '向鵬', ['ALEXANDER', 'jack'], 'ChenRonghua', 'XuLiangchen'] ['4ZhangYang', '#!Guyun', 'xXiangPeng', ['alex', 'jack'], 'ChenRonghua', 'XuLiangchen'] Process finished with exit code 0
遍歷列表
for i in names: print(i)