版权声明:转载请注明 谢谢 https://blog.csdn.net/bigsungod/article/details/81268117
当我打算将数据处理成二维形式时,我这么做的
x = []
list = []
for i in range(num):
x.clear()
for j in range(len(data[i])):
x.append(data[i][j])
list.append()
但是结果却是这种形式
[[xxxx],[xxxx]......]
也就是说 list里面的小列表完全是重复的(元素内容为最后append进去的x列表的值)
后来 才明白列表的append机制是记录的元素的地址 比如在这里,x虽然clear了,但是地址没变,变得只是x里面的值,所以最后list里面记录的全是len(list)个相同的元素
修改方法:将x.clear()改成x = [ ](第一行也就没用了),这样每次都会开辟新的内存。