【发布时间】:2015-11-23 13:07:03
【问题描述】:
假设我运行了程序
x=[]
x.append(x)
print(x)
我得到 [[...]] 作为输出。但是这是什么意思?列表是否存储指针然后指向自身?还是它从未完全复制自己?这个列表是如何存储在内存中的?
修改: 我试图弄清楚python是如何完成这个自我引用的。如果我想设计一种存储允许自引用的列表的方式,我会将变量存储为一对值、数据类型和值。如果数据类型是 int 则值表示存储的整数,但如果数据类型是列表,我会说存储的值应该是指针但指向哪里?列表的开头就像在 C 中一样?
【问题讨论】:
-
如果列表是自身的一个元素,它是无限递归的,因此不可能以通常的格式打印出来。
标签: python self-reference