Python 类函数实例的list.append

Python 类函数实例的list.append,python,list,function,class,append,Python,List,Function,Class,Append,列表ac_hist的初始化值。保持位置历史记录的目的 ac_hist=[[450600]] 此代码: ac_hist.append(aircraft_list[i].get_position()) 应产生一个代表不同[x,y]位置的列表列表。每次调用get_position时,它的值都会更改。但结果都是一样的。似乎我是在附加一个变量实例而不是一个值,每次变量的值更改时,所有附加项的值都会更改(用于初始化列表的值除外) 结果如下: [[450, 600], [1.414, 234.156]]

列表ac_hist的初始化值。保持位置历史记录的目的 ac_hist=[[450600]]

此代码:

ac_hist.append(aircraft_list[i].get_position()) 
应产生一个代表不同[x,y]位置的列表列表。每次调用get_position时,它的值都会更改。但结果都是一样的。似乎我是在附加一个变量实例而不是一个值,每次变量的值更改时,所有附加项的值都会更改(用于初始化列表的值除外)

结果如下:

[[450, 600], [1.414, 234.156]]
[[450, 600], [1.358, 234.552], [1.358, 234.552]]
[[450, 600], [1.302, 234.948], [1.302, 234.948], [1.302, 234.948]]
[[450, 600], [1.246, 235.344], [1.246, 235.344], [1.246, 235.344], [1.246,     235.344]]

谢谢。追加在for循环中。我通过使用一个新列表()解决了这个问题。在这种情况下,列表(临时)

因为aircraft_list[i].get position的结果是一个2元素列表,所以我将相同的列表追加到ac_hist。所以每次我更新两个元素列表的值时,ac_hist的所有元素都采用相同的值


谢谢您的帮助。

您甚至没有多次向我们展示您正在执行此
append()
。如果你不向我们展示你的代码,怎么会有人告诉你你的代码在做什么?请将您的问题编辑为。您正在将同一职位列表的副本添加到您的
ac_hist
列表中。但是,如果没有看到您的代码,就不可能给出进一步的建议。
[[450, 600], [1.414, 234.156]]
[[450, 600], [1.358, 234.552], [1.358, 234.552]]
[[450, 600], [1.302, 234.948], [1.302, 234.948], [1.302, 234.948]]
[[450, 600], [1.246, 235.344], [1.246, 235.344], [1.246, 235.344], [1.246,     235.344]]
for i in range(5):
    list(temp) = aircraft_list[i].get_position() 
    ac_hist.append(temp)