【发布时间】:2022-06-17 03:40:41
【问题描述】:
我想自己复制列表,所以找到了这两种方法。下面的代码比其他语句运行得更快。你能解释一下为什么第一个比第二个执行得快很多吗?
第一种方法:
l = [1,2,3,...1000000]
return l * 2
第二种方法:
l = [1,2,3,...1000000]
return l + l
编辑:即使下面的代码运行也很慢
l = [1,2,3,...1000000]
l.extend(l)
return l
【问题讨论】:
-
一个天真的论证:
l*2只需要处理l并执行一个操作,l+l需要在两个对象之间应用一个操作,extend更新相同的内存位置
标签: python python-3.x list