嵌套括号空循环说明

嵌套括号空循环说明

执行以下代码后,x的值是什么?

x = []
for i in range(3):
    x = [x + x]

A.[[[[]]]].
B.[[[],[]]].
C.[[[[],[]],[[],[]]]].
D.[[],[],[],[],[],[]]

答案是c,有人可以解释为什么会这样吗?我了解2/3迭代,但不了解它是如何从1st迭代到2nd的,因为它为什么没有变成[[],[]]

最佳答案

我使用多余的空格来表达清楚。

首次运行:
x + x = [] + [] = []空列表+空列表是另一个空列表

所以[x + x] = [ [] ]注意力! [[]]不是一个空列表,它是一个包含一个空列表的列表

第二次运行:
x + x = [[]] + [[]] = [[], []]所以[x + x] = [ [[], []] ]
第三次运行:
x + x = [[[], []]] + [[[], []]] = [[[[], []]], [[[], []]]]
所以[x + x] = [ [[[[], []]], [[[], []]]] ]

关于python - 嵌套括号空循环说明,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40167885/

10-10 08:05