python - Python list 本质上是一个链表实现吗?

标签 python list memory

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

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

在插入“Z”之前是否复制了原始列表对象,或者它是否像链接列表一样工作?

最佳答案

documented :

List and bytearray objects support additional operations that allow in-place modification of the object.

insert 被列为这些操作之一。因此不会进行任何复制,并且 insert 会就地修改列表对象。

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

关于python - Python list 本质上是一个链表实现吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24347935/

相关文章:

java - 将列表的元素添加到另一个列表后清除列表

python - 如何在使用 pandas DataFrame.explode() 后创建一个新的 'index' 列?

c - GLib 句柄内存不足

python - Jupyter:安装新模块

python - 使用 Python 在 OpenCV 中为肤色检测选择复杂的颜色范围

python - Django Rest Framework 说需要非必填字段

javascript - Memcache、Redis、Javascript 哈希对象

python - 在 Python 的 For 循环中绑定(bind) keyboard.on_press_key

python - 使用 xlsxwriter 模块将列表中的数据写入 Excel 工作表中的列

C++ 返回 float