列表數組
表名 = ["name1","name2"]app
print(names[1:3])#切片spa
起始位置包括,結束位置不包括。會取1和2,不取3
names = ["name1","name2","name3","name4"] print(names) print(names[1],names[2]) print(names[1:3])#切片 print(names[-1])#取最後一個 print(names[-2:])#取最後兩個 print(names[0:3])#取前兩個 names.append("name5")#向數組裏面插入 names.insert(1,"name6")#向數組1號位置插入 names.insert(3,"name7")#向數組3號位置插入 names[2]="name8"#2號元素改成name8 names.remove("name7")#刪除元素name7 del names[2]#刪除2號元素 names.pop()#默認刪除最後一個,輸入下標就刪除第幾號元素 print(names.index("name1"))#找name1在哪裏 print(names[names.index("name1")])#把name1找到打印出來 names.append("name5") names.append("name5") print(names.count("name5"))#統計有多少個name5 names.reverse()#列表反轉 names.sort()#按照首字母順序排序 names2 = [1,2,3,4] names.extend(names2)#把另外一個列表並過來 names.clear()#列表清空 print(names)
淺copy指針
第二個列表只是第一個列表的引用。能夠用來建立聯合帳號,如家庭存款。code
淺copy的三種方式blog
person=['name1',['name2','name3']]排序
1.p1=copy.copy(person)rem
2.p2=person[:]class
3.p3=list(person)import
names = ["name1","name2","name3",["tom","jack"],"name4","name5"] name2 = names.copy()#只copy第一層列表,第二層存的是指針,打印時候會從指針找原地址 print(names) print(name2) names[0]="名字1" names[3][0]="alex"#name2裏面也改了 print(names) print(name2)
深copy
import copy names = ["name1","name2","name3",["tom","jack"],"name4","name5"] name2 = copy.deepcopy(names)#深copy,徹底copy,第二層列表不跟着變化 print(names) print(name2) names[0]="名字1" names[3][0]="alex" print(names) print(name2)
names = ["name1","name2","name3",["tom","jack"],"name4","name5"] print(names[0:-1:2])#start,stop,step
元組tuple
只讀列表。一旦建立不能修改。用( )表示。只有兩個方法,count和index。
什麼狀況下用元組?
不能改變值的狀況下。