gpt4 book ai didi

Python -- 罗素悖论(列表,不是集合)

转载 作者:太空宇宙 更新时间:2023-11-03 15:53:40 28 4
gpt4 key购买 nike

我知道可以在列表中创建列表。但是我到底能装多少个。我在 IPython 控制台中试过这个:

In [1]: Alist = [1]

In [2]: Alist.append(Alist)

In [3]: Alist
Out[3]: [1, [...]]

In [4]: Alist[1]
Out[4]: [1, [...]]

In [5]: Alist[1][1]
Out[5]: [1, [...]]

In [6]: Alist[1][1][1]
Out[6]: [1, [...]]

现在我可以永远尝试访问 Alist[1][1][1][1]...[1],但这怎么可能呢?另外,我的机器怎么没有用完内存?如果有帮助,我会在 Ubuntu 16.04 上使用 Python2.7。

最佳答案

这里只有一个有限大小的对象:

您首先创建一个包含一个元素 [1] 的列表对象,然后创建对该对象的引用,您将其称为 Alist。当您将 Alist 附加到“istelf”时,您实际上只是将对对象的引用附加到对象本身。您现在有一个包含两个元素的列表对象:1 和对自身的引用。这里不涉及无限内存。

试试这个说服自己:

Alist = [1]
Alist.append(Alist)
Alist[1][0] = 0
Alist[0]

关于Python -- 罗素悖论(列表,不是集合),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44878815/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com