【发布时间】:2021-10-11 22:32:17
【问题描述】:
我目前正在了解 Python 中的列表和 while 循环是如何工作的。不幸的是,我对我的代码有点困惑。
main_list = []
list_1 = [1, 2]
list_2 = [3, 4]
i = 0
n = 2
while i != n:
number = int(input("Insert a number: "))
list_1.append(number)
main_list.append(list_1)
main_list.append(list_2)
i += 1
print(main_list)
为什么我会得到这个输出,
>> Insert a number: 2
>> Insert a number: 3
>> [[1, 2, 2, 3], [3, 4], [1, 2, 2, 3], [3, 4]]
而不是这个?
>> Insert a number: 2
>> Insert a number: 3
>> [[1, 2, 2], [3, 4], [1, 2, 2, 3], [3, 4]]
如果有人能给我解释一下,我将不胜感激,谢谢。
【问题讨论】:
-
我认为它会在每个引用该列表的地方更改列表
-
main_list包含list_1和list_2两次,因为那是您放入的内容。list_1是[1,2,2,3]因为那是你在里面放的。 -
您也可以在pythontutor.com 中运行此程序,以直观地查看每个步骤的运行情况。
标签: python list loops while-loop