执行以下代码后,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/