python - 为什么 Python 扩展输出 [[...]]

标签 python list python-3.x

<分区>

我的讲师提出了几个关于python的问题,这个让我很困惑,我不明白发生了什么。

x = [[]]
x[0].extend(x)

Python 告诉我,运行后 x 是 [[...]]... 是什么意思?

当下面的结果只是 [[]]

时,我会更加困惑
y = [] # equivalent to x[0]
x = [[]]
y.extend(x)

如果 y 被计算为 [[]] 不应该 x 被简单地计算为 [[[] ]]?

扩展在做什么? ... 是什么意思?

最佳答案

... 表示列表包含一个递归循环,即在某种程度上,某些东西包含它自己。这是因为你用 x 扩展了 x,所以你实际上把 x 放在了它自己里面。

第二个例子中没有 ... 因为 y 是一个不同的对象。虽然它恰好等于 x[0] 因为它们都是空列表,但它们不是同一个空列表。

关于python - 为什么 Python 扩展输出 [[...]],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33986496/

相关文章:

python - Django 不在数据库中创建对象

python - 使用 pandas 使用时间作为自变量滚动 OLS

不同服务器上的 Python 3.5 dill pickling/unpickling : "KeyError: ' ClassType'"

与现有模块同名的python模块名称

python - 如何使用 Pandas 交换列中的两个(字符串)值

python - 列表生成器困惑

java - List<List<String>> 泛型问题

Python unicode 列表加入

python - 尝试同时求解微分方程

python - 如何使用 python Flask 将修改后的图像直接上传到 s3 存储桶