Так что я эту функцию в Python:Оригинальные заданы параметры перезаписываются
def newk(kor, flds):
field=0.5*flds
knw=[]
for i in range(flds):
ktemp=kor
if ktemp[2]+i>field:
ktemp[2]-=(i-1)
else:
ktemp[2]+=i
knw+=[ktemp]
print knw
print ktemp
print kor, '\n'
return knw
который вызывается:
knew=newk(kvals, folds)
Мои оригинальные kvals получает перезаписаны по какой-то причине. Kvals - это список. Также ktemp продолжает накапливаться, как полагается кнуту, и он завинчивает все. Мой результат выглядит следующим образом:
[[0,05, 0,05, 0,166667]] [0,05, 0,05, 0,166667] [0,05, 0,05, 0,166667]
[[0,05, 0,05, 1,166667], [0,05 , 0,05, 1,166667]] [0.05, 0.05, 1,166667] [0.05, 0.05, 1,166667]
[[0,05, 0,05, -0,8333330000000001], [0,05, 0,05, -0,8333330000000001], [0,05, 0,05, -0.8333330000000001]] [0,05, 0,05, -0,8333330000000001] [0,05, 0,05, -0,8333330000000001]
K значения точки являются: [0,05, 0,05, -0,8333330000000001] (оригинал kvals был
[0.05,0.05,0.166667]
)
Но мне нужен выход, чтобы выглядеть следующим образом: KNW бы [[0.05, 0.05, 0.166667],[0.05, 0.05, 1.166667],[0.05, 0.05, -0.833333]
, KVAL бы [0.05, 0.05, 0.166667]
Кроме того, когда я измените ktemp = kor в цикле на константу ktemp = [0.05, 0.05, 0.166667] все работает.
Добро пожаловать в SO. Это может помочь нам сообщить, на каком языке он запускается - желательно, добавив соответствующий тег. Я думаю, вы можете удалить «перезаписать» один, пока вы на нем, это не полезно. –
выглядит как python со сломанным отступом. – devnull
Я не знаю, почему это сломало мой отступ, но тело функции с отступом. –