我已经编写了基本的python片段,首先在列表中插入值然后反转它们.我发现insert和append方法之间的执行速度差异很大.
小片1:
L = []
for i in range(10**5):
L.append(i)
L.reverse()
Run Code Online (Sandbox Code Playgroud)
执行此操作所需的时间:
real 0m0.070s
user 0m0.064s
sys 0m0.008s
Run Code Online (Sandbox Code Playgroud)
摘录2:
l = []
for i in range(10**5):
l.insert(0,i)
Run Code Online (Sandbox Code Playgroud)
执行时间:
real 0m5.645s
user 0m5.516s
sys 0m0.020s
Run Code Online (Sandbox Code Playgroud)
我希望代码片段2的性能比snippet1好得多,因为我之前通过插入数字直接执行反向操作.但是,所用的时间不然.我无法理解为什么后一种方法需要更多时间来执行,即使该方法看起来更优雅.有没有人对此有任何解释?
python ×1