为什么Python中list.pop(0)不是O(1)操作?为何不能效仿pop末尾实现?
Python列表pop操作的时间复杂度疑问
给定列表:
l = [1,2,3,4]
弹出最后一个元素(l.pop())是O(1)操作,原因如下:
- 返回最后一个元素
- 仅修改列表的
len等少量固定属性
那为何不能以类似方式实现pop(0)?比如:
- 返回第一个元素
- 将第一个元素(索引0)的指针指向第二个元素(索引1)并修改少量固定属性?
内容的提问来源于stack exchange,提问作者figs_and_nuts
相关产品推荐
相关产品推荐

