这种情况通常是由于在循环中创建了一个新的列表对象,然后在每次循环迭代中都将相同的对象添加到列表中。因此,每次迭代都会将相同的对象添加到列表中,并覆盖前一个对象。

要解决这个问题,可以在每次迭代中创建一个新的列表对象,并将其添加到结果列表中。这样,每次迭代都会添加一个新的对象。

以下是一个示例代码,演示了如何解决这个问题:

result = []
for i in range(5):
    qlist = []
    qlist.append(i)
    result.append(qlist)

print(result)

输出结果为:

[[0], [1], [2], [3], [4]]

在每次迭代中创建一个新的列表对象,并将其添加到结果列表中,确保每个对象都是独立的。

qlist在for循环中append时前面内容被后面内容覆盖

原文地址: http://www.cveoy.top/t/topic/h17k 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录