我刚开始学Python。所以我是个初学者。我有一个关于“陈述”的问题。我想我还是不知道它的规则。 请看下面。你知道吗
示例:
list1 = []
list2 = []
def forStatement():
for i in range(3):
for j in range(5, 7):
list2.append(j)
list1.append(list2)
return list1
我想要的结果是
[[5, 6], [5, 6], [5, 6]]
但当我运行代码时,结果是这样的。你知道吗
[[5, 6, 5, 6, 5, 6], [5, 6, 5, 6, 5, 6], [5, 6, 5, 6, 5, 6]]
有人能帮我吗?我怎样才能得到那个结果? 非常感谢。你知道吗
对于您的代码,
list1
是一个容器对象,它引用list2
绑定到的对象。(通常,为了简洁起见,这样的对象被称为list2
)在代码执行之后,list1
最后包含三个元素(即对list2
的引用),而list2
显然包含连续5、6的三重(外循环执行3次)(内循环的每次执行都将5和6附加到list2
)。你知道吗以下代码应该是您所期望的:
在这段代码中,执行之后,
list1
包含三个不同对象的元素。但它们在过去都与变量list2
绑定。你知道吗您正在循环中追加,希望在每次迭代i时重置list2
您几乎是对的,代码中唯一的问题是不断向
list2
添加元素。相反,您应该每次创建一个新列表:相关问题 更多 >
编程相关推荐