【发布时间】:2016-03-16 18:53:40
【问题描述】:
以前从来没有在 python 中运行过这个,我想知道它为什么会发生以及如何避免它。当我设置y = redundanciesArray 时,我想制作数组的副本,更改某个索引处的值,对该更改采取行动,然后将y 重置为数组的新副本。发生的情况是第一次通过redundanciesArray = [2,1,1,1,1],第二次通过[2,2,1,1,1]。这有点像y 充当指向redundanciesArray 的指针。我想我没有正确使用数组或其他东西,希望有人能阐明我在这里缺少的东西。
redundanciesArray = [1, 1, 1, 1, 1]
probabilityArray = [0.5, 0.5, 0.5, 0.5, 0.5]
optimalProbability = 0
index = -1
for i in range(0, len(redundanciesArray)):
y = redundanciesArray
y[i] = y[i] + 1
probability = calculateProbability(y, probabilityArray)
//calcuateProbability returns a positive float between 0 and 1
if(probability > optimalProbability):
optimalProbability = probability
index = i
【问题讨论】:
-
你想复制你的数组,选项见stackoverflow.com/questions/2612802/…
-
是的,这行得通,我复制了冗余数组,而不是仅仅将其设置为相等。那么我在这个现有的代码中到底在做什么呢?让 y 成为指针?
标签: arrays python-3.x for-loop