在python的列表中使用+和append()函数的区别

本质是否相同
代码分析:

t=[1,2,3]
t1=t.append(4)
t2=t+[4]
print(t)
print(t1)
print(t2)
print(t)

输出的结果为:
在这里插入图片描述
结论:使用append()添加后,是在列表原列表t中添加,而不是t1
而使用+添加后,是在列表t2中添加,相当于在t中添加的结果重新放到了一个新的列表中,而原列表不变
速度是否相同
代码分析:

import time
start1=time.time()
t1=[]
for i in range(1,10000):
    t1=t1+[range(i)]
end1=time.time()
print("运行了%s秒"%(end1-start1))
start2=time.time()
t2=[]
for i in range(1,10000):
    t2.append([i])
end2=time.time()
print("运行了%s秒"%(end2-start2))

输出结果:
在这里插入图片描述
结论:append()的添加速度比+快
小细节:在代码t2.append([i])中,不可以写成t2=t2.append([i]),运行时会报错:AttributeError: ‘NoneType’ object has no attribute ‘append’
原因:append修改的是t2本身,并且返回None。不能把返回值再赋值给t2

猜你喜欢

转载自blog.csdn.net/qq_44729578/article/details/104968922
今日推荐