如果你对内存地址的概念不是很理解的话,很容易就认为二者用法一样,应该没什么大的区别,其实二者区别还是比较明显的。
先来看“+”,这个字符表示为列表添加元素,严格意义来讲,"+"并不是真的为列表添加元素,而是创建一个新的列表,并且将原列表的元素和要添加的元素依次复制到新列表的内存空间里面。会改变列表内存中的地址。
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()的添加速度要快于"+"。