我想打印列表中添加的所有元素,但它只打印最后一个元素。(Python)

我想打印列表中添加的所有元素,但它只打印最后一个元素。(Python),python,python-3.x,list,Python,Python 3.x,List,我不知道我做错了什么。在循环之前,您必须初始化a一次: n = int(input()) for x in range(0,n): a = [] y = int(input()) a.insert(x,y) print(a) 在循环内进行a初始化会在每次迭代中覆盖数组的值,在循环外启动它将获得预期结果是否每次迭代都创建一个新列表?另外,尝试使用.append(x)而不是。insert(x,y),因为它们在此上下文中是等效的。我知道,但我想添加自定义值。顺便说一句

我不知道我做错了什么。

在循环之前,您必须初始化
a
一次

n = int(input())

for x in range(0,n):
    a = []
    y = int(input())
    a.insert(x,y)
print(a)   

在循环内进行
a
初始化会在每次迭代中覆盖数组的值,在循环外启动它将获得预期结果

是否每次迭代都创建一个新列表?另外,尝试使用
.append(x)
而不是
。insert(x,y)
,因为它们在此上下文中是等效的。我知道,但我想添加自定义值。顺便说一句,谢谢。我现在得到了解决方案。但是我给列表一个索引,值应该存储在那里。然后它如何覆盖相同的索引。每次循环执行时,您仍在初始化
a
,假设您的第一个数字是3,那么,在第一次运行结束时,您将拥有
a=[3]
。但是在下一次运行中,您再次将
a
指定为空数组,然后您丢失了编号
3
。好的,我现在就知道了。谢谢,伙计
n = int(input())
a = []
for x in range(0,n):
    y = int(input())
    a.insert(x,y)
print(a)