一段简单的python代码,帮萌新看看输出为啥是这样

points = int(input())

l = [[0]*2]*points

for i in range(points):
    str_l = input().split()
    l[i][0] = int(str_l[0])
    l[i][1] = int(str_l[1])
    print(l)
print(l)

我的输入是

图片说明

结果输出是

图片说明

按道理说不应该每次改变了l[i]之后会有相应的变化吗,但是这结果....

l的定义有问题,你使用[[]]*n来定义列表时,列表里的每一个元素都是同一个列表,所以你修改一个的值,其它的值也会跟着改变,
建议这样创建你的列表:
l=[[0,0] for i in range(len(points))]