Python中切片操作的运行时

时间:2014-11-04 01:08:00

标签: python

我试图了解切片如何在Python中运行。如果我做了像

这样的事情
arr = [1,2,3,4,5]
arr[0:n] = [9]*n

接头操作的运行时间是什么,其中n是某个整数?这是在O(n)中运行,还是以某种方式切片恒定时间?

2 个答案:

答案 0 :(得分:0)

您应该尝试使用IPython笔记本,它是%%timeit magic,这使得计时变得简单。我想我明白你要做的是什么,所以我将500个元素的列表与5000个元素的列表分开。这是你的想法吗?

enter image description here

除非我的分析错误,否则这看起来是N?

答案 1 :(得分:0)

这是不可能的。表达式[9]*n单独在空间中是线性的,因此也是及时的。