Python列表本质上是一个链表实现吗?

时间:2014-06-22 03:43:41

标签: python list memory

想知道我可以从下面的陈述中推断出什么?

>>> li=['a', 'b']
>>> id(li)
4300601032
>>> li.insert(0,'Z')
>>> li
['Z', 'a', 'b']
>>> id(li)
4300601032

在插入“Z”之前复制原始列表对象还是像链接列表一样工作?

1 个答案:

答案 0 :(得分:1)

作为documented

  

List和bytearray对象支持允许对象进行就地修改的其他操作。

insert被列为其中一项操作。因此,不会复制,insert会修改列表对象。

请注意,这与列表的实现方式无关。列表是否实现为链接列表不是文档指定的一部分。所有指定的是各种操作,而不是它们是如何完成的。