Python 递归列表是如何在内部实现的?

Python 递归列表是如何在内部实现的?,python,list,recursion,implementation,Python,List,Recursion,Implementation,在python中,列表可以包含自身 a_list = [] a_list.append(a_list) 打印时,它会显示该项目的[…]。即: a_list = [1, 2, 3] a_list.append(a_list) 将打印[1、2、3、[…]]。现在,在CPython,这是如何工作的? 列表的元素是否包含值的ID?还是内存位置?它们只是某种特殊的占位符标记,当被引用时,它会用原始列表替换自己吗?@miradulo从技术上讲,它没有描述实现,只是描述了它是什么。现在,有一个注释包含了实

在python中,列表可以包含自身

a_list = []
a_list.append(a_list)
打印时,它会显示该项目的
[…]
。即:

a_list = [1, 2, 3]
a_list.append(a_list)
将打印
[1、2、3、[…]]
。现在,在CPython,这是如何工作的?
列表的元素是否包含值的ID?还是内存位置?它们只是某种特殊的占位符标记,当被引用时,它会用原始列表替换自己吗?

@miradulo从技术上讲,它没有描述实现,只是描述了它是什么。现在,有一个注释包含了实现,但是答案通常更容易搜索,所以最好为具体的实现单独提出一个问题that@miradulo等待你为什么把这个问题标记为重复的问题?这似乎相当低效:Python是开源的。建议你阅读这些问题的源代码(因为它是确定的源代码)。@miradulo是的,事实上就是这样。因此,[实施]tag@PascalCase我添加了第三个问题,其中有一个解决内部问题的答案——它也有1000多个视图。这解决了你的问题吗?