我试图了解切片如何在Python中运行。如果我做了像
这样的事情arr = [1,2,3,4,5]
arr[0:n] = [9]*n
接头操作的运行时间是什么,其中n是某个整数?这是在O(n)中运行,还是以某种方式切片恒定时间?
答案 0 :(得分:0)
您应该尝试使用IPython笔记本,它是%%timeit magic
,这使得计时变得简单。我想我明白你要做的是什么,所以我将500个元素的列表与5000个元素的列表分开。这是你的想法吗?
除非我的分析错误,否则这看起来是N?
答案 1 :(得分:0)
这是不可能的。表达式[9]*n
单独在空间中是线性的,因此也是及时的。