【发布时间】:2016-03-10 04:12:55
【问题描述】:
列表 ac_hist 的初始化值。目的是保持历史位置跟踪 ac_hist = [[450,600]]
这段代码:
ac_hist.append(aircraft_list[i].get_position())
应该产生一个代表不同 [x,y] 位置的列表。 get_position 的值在每次调用时都会发生变化。但结果都是一样的。似乎我正在附加一个变量实例而不是一个值,并且每次变量的值更改时,所有附加项都会更改值(用于初始化列表的值除外)?
print 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]]
【问题讨论】:
-
您甚至没有向我们展示您不止一次地执行此
append()。如果您不向我们展示您的代码在做什么,那么任何人都应该如何告诉您?请将您的问题编辑成MCVE。 -
您正在将同一职位列表的副本附加到您的
ac_hist列表中。但是如果没有看到您的代码,就不可能提供进一步的建议。
标签: python list function class append