列表的操作(增/刪/查/改/切片/合並/);列表的copy
阿新 • • 發佈:2017-10-14
但是 rem 位置 color 次數 操作 賦值 pri int
# Author:nadech names = ["cxx", "sjp", "lsw", "dyq", "lsw"] ###循環打印 for name in names: print(name) # 這裏打印的是從起始位置到最後的位置,然後步長為2 print(names[::2]) #########增######## #在末尾增加 names.append("cjl") print(names) #在制定位置增加,例如第二個位置 names.insert(1,"cs") print(names) ########改####### #在某個位置替換掉某個數據 names[0] = "cxxxx" print(names) ########刪####### names.remove("sjp") print(names) names.pop() del names[3] print(names) #默認不指定坐標的時候就pop出最後一個,但是也可以制定坐標 names.pop(1) print(names) ########查######### ########切片####### #輸出某個數據就用對應的坐標 print(names[0]) #輸出多個數據,設置起始坐標,顧頭不顧尾 print(names[0:2]) #當想要輸出最後一個數據,卻又不知道對應坐標 print(names[-1]) #輸出後面的兩個數據,不知道坐標,還是顧頭不顧尾 print(names[-3:-1]) #輸出最後的兩個數據,包含最後一個數據,要用:空代表 print(names[-2:]) ########通過內容找index######### print(names.index("lsw")) print(names[names.index("lsw")]) ######統計某一名字出現的次數 print(names.count("lsw")) #########將一個list合並另一個list names2 = [1, 2, 3, 4 ] names.extend(names2)print(names) del names2 print(names2) name2 = names.copy() names[0] = "cxxxxxxx" print(names) print(name2)
列表的copy
# Author:nadech import copy ‘‘‘‘ #淺copy有三種: name1 = copy.copy(names) name2 = names[:] name3 = list(names) ‘‘‘ #name1賦值給name2時,name2直接開辟了新的內存空間,當name1的值改變時,name2並不會改變 name1 = "sjp" name2 = name1 print(name1) name1 = "sjpppp" print(name1) print(name2) #names的值copy給names2,但是這是一種淺copy,只能copy第一層: #當names的第一層數據變時,names2並不會改變 #當names的第二層數據變時,names2會改變,列表中的列表只是一個內存地址的指針 names = ["cxx","sjp","lsw",["ygr","yxk"]] names2 = names.copy() names3 = copy.deepcopy(names) names[0] = "cxxxxxxxx" names[3][0] = "ygrrrrr" print(names) print(names2) #######深copy######,把names的所有內容clone了一遍 print(names3) ####比較兩個變量的內存地址發現並不是同一個 print(id(names)) print(id(names2))
列表的操作(增/刪/查/改/切片/合並/);列表的copy