如果你對內存地址的概念不是很理解的話,很容易就認為二者用法一樣,應該沒什么大的區別,其實二者區別還是比較明顯的。
先來看“+”,這個字符表示為列表添加元素,嚴格意義來講,"+"並不是真的為列表添加元素,而是創建一個新的列表,並且將原列表的元素和要添加的元素依次復制到新列表的內存空間里面。會改變列表內存中的地址。
append()方法,是在原有的列表里面添加元素,不會改變列表的內存中的首地址。
下面我將用代碼來測試一下二者的添加速度:
1 import time 2
3 result = [] 4 start = time.time() 5 for i in range(10000): 6 result = result + [i] 7 print(len(result), ",", time.time() - start) 8
9 result = [] 10 start = time.time() 11 for i in range(10000): 12 result.append(i) 13 print(len(result), ",", time.time() - start)
運行結果:
從運行結果來看,使用append()的添加速度要快於"+"。
