# 列表的定義 var1 = [] var2 = list() print(type(var1)) #<class 'list'> print(type(var2)) #<class 'list'> # 列表可以容納任何的對象,可變類型,直接賦值就行 var3 = [1,'a',['a',2],(1,2),{'a':19,'b':20}] print(var3) # 列表方法 var1.append('Hello') # 增加 var1.append('World') var1.append('Hello') var1.append('Python') print(var1) #['Hello', 'World', 'Hello', 'Python'] length = len(var1) # 長度 print(length) #4 res1 = var1.index('Hello') #尋找指定元素下列表里面的下標,若沒有,會報錯, print(res1) #0 res2 = var1.index('Hello',1) #指定從第幾個下標開始 print(res2) #2 res3 = var1.count('Hello') # 統計指定元素的個數 print(res3) #2 res4 = var1.pop(); # 刪除最后的一個元素,pop 和棧的用法相似 print(res4) # 返回刪除的元素 print(var1) # ['Hello', 'World', 'Hello'] res5 = var1.pop(0) # 刪除指定下標元素 print(res5) # 返回刪除的元素 print(var1) #['World', 'Hello'] res6 = var1.remove('World') # 刪除指定元素,默認是第一個 print(res6) # None 沒有返回值 print(var1) # ['Hello'] res7 = var1.insert(0,'World') # 插入到指定位置 print(res7) # None 沒有返回值 print(var1) #['Hello', 'World'] var1.append('Abandon') res8 =var1.sort();# 排序 print(res8) # None 沒有返回值 print(var1) # ['Abandon', 'Hello', 'World'] res9 = var1.sort(reverse=True) #反向排序 print(res9) #None print(var1) #['World', 'Hello', 'Abandon'] # 簡單的將一個列表賦值給另一個變量,實際指向用一個內存地址,改變一個,另一個也會改變 print(var1) print(id(var1)) #2277300412104 varc1 = var1 print(id(varc1)) #2277300412104 varc1.pop(); print(varc1)#['World', 'Hello'] print(var1)#['World', 'Hello'] #copy shadow copy,一個變,另一個不會變,但是如果列表里面還會有列表,里面的數據一個改變另一個也會改變 varCopy = var1.copy() print(id(varCopy))#2237726431432 print(id(var1))#2237726432968 varCopy.pop() var1.copy() print(varCopy) #['World'] print(var1) #['World', 'Hello'] varr = [[1,2],['a','b']] varrCopy = varr.copy() varrCopy[0][1]=3 print(varrCopy) #[[1, 3], ['a', 'b']] print(varr)#[[1, 3], ['a', 'b']] import copy # deep copy varrdeep = copy.deepcopy(varr) print(varr) #[[1, 3], ['a', 'b']] print(varrdeep) #[[1, 3], ['a', 'b']] varrdeep[0][1] = 2 print(varr) #[[1, 3], ['a', 'b']] print(varrdeep) #[[1, 2], ['a', 'b']] # clear 清除列表里面的元素 var1.clear() print(var1) var1.append('Hello World') rest1 = var1*2 print(rest1) #['Hello World', 'Hello World'] # 一個列表添加到另一個列表上 var1.extend(rest1) print(var1) #['Hello World', 'Hello World', 'Hello World'] rest2 = var1 + rest1 print(rest2) #['Hello World', 'Hello World', 'Hello World', 'Hello World', 'Hello World']