我正在尝试使用一个简单的列表del a[0]
来模仿deque.popleft()
. 只是想了解del
Python 是如何工作的。例如:
a = [0,1,2,3,4,5]
a
在内存中的一个连续空间中。在我调用 之后del a[0]
,Python 会分配新空间并复制1,2,3,4,5
到那里,或者它只会给出a
一个新地址(与 相同a = a[1:]
)。
如果它分配了新空间,是否意味着del a[0]
是一个 _O (len (a) _ 操作?
如果del a[0]
同为a = a[1:]
,Python会回收数组中已经删除的内存空间吗?