在操作list的時候,經常用到對列表的操作運算,比如說,列表添加,刪除操作,其實,這里面經常回遇到這樣一個問題,就是列表的操作容易被混淆了。
有人做了一個總結,這個很清晰,我就不多做闡述了:
1.append() 向列表尾部追加一個新元素,列表只占一個索引位,在原有列表上增加
2.extend() 向列表尾部追加一個列表,將列表中的每個元素都追加進來,在原有列表上增加
3.+ 直接用+號看上去與用extend()一樣的效果,但是實際上是生成了一個新的列表存這兩個列表的和,只能用在兩個列表相加上
4.+= 效果與extend()一樣,向原列表追加一個新元素,在原有列表上增加
這里面還有一個問題,就是怎么對list進行加減的操作,很多人都容易把+ -號直接用到加減運算,這樣很容易出錯。其實,加減的有另外的操作方法:
我寫了一個例子,能夠清晰的解釋了幾個的差別和異同,如下所示:
1 import numpy as np 2 3 left = [] 4 right = [] 5 6 data1 = [12,12,12,12,12,12,12] 7 data2 = [12,12,12,12,12,12,12] 8 data3 = [] 9 for item in data1: 10 left.append(item) 11 12 for item1 in data2: 13 right.append(item1) 14 15 aleft = np.array(left) 16 bleft = np.array(right) 17 18 cleft = aleft - bleft 19 dleft = aleft + bleft 20 print("list a sub list b:") 21 print(cleft) 22 print("list a add list b:") 23 print(dleft) 24 print("list a append list b:") 25 cleft = data1 + data2 26 data1.append(data2) 27 print(cleft) 28 print(data1) 29 print("list a extend list b:") 30 data3.extend(data2) 31 print(data3)
運行結果:
list a sub list b: [0 0 0 0 0 0 0] list a add list b: [24 24 24 24 24 24 24] list a append list b: [12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12] [12, 12, 12, 12, 12, 12, 12, [12, 12, 12, 12, 12, 12, 12]] list a extend list b: [12, 12, 12, 12, 12, 12, 12]
