我想在Python中存储变量的中间值.此变量在循环中更新.当我尝试使用list.append
命令执行此操作时,它会使用变量的新值更新列表中的每个值.我该怎么办?
while (step < maxstep):
for i in range(100):
x = a*b*c
f1 += x
f2.append(f1)
print f2
raw_input('<<')
step += 1
Run Code Online (Sandbox Code Playgroud)
预期产出
[array([-2.03,-4.13])]
<<
[array([-2.03,-4.13]),array([-3.14,-5.34])]
Run Code Online (Sandbox Code Playgroud)
印刷输出
[array([-2.03,-4.13])]
<<
[array([-3.14,-5.34]),array([-3.14,-5.34])]
Run Code Online (Sandbox Code Playgroud)
有没有不同的方法来获得我想要的python?
这是一个错误还是一个功能?
import numpy as np
a=b=c=0
print 'a=',a
print 'b=',b
print 'c=',c
a = 5
print 'a=',a
print 'b=',b
print 'c=',c
b = 3
print 'a=',a
print 'b=',b
print 'c=',c
x=y=z=np.zeros(5)
print 'x=',x
print 'y=',y
print 'z=',z
x[2]= 10
print 'x=',x
print 'y=',y
print 'z=',z
y[3]= 20
print 'x=',x
print 'y=',y
print 'z=',z
Run Code Online (Sandbox Code Playgroud)
代码的输出向我展示了numpy初始化是彼此的克隆,而python倾向于将它们视为自变量.
a= 0
b= 0
c= 0
a= 5
b= 0
c= 0
a= 5
b= 3
c= 0
x= [ 0. 0. 0. 0. 0.]
y= …
Run Code Online (Sandbox Code Playgroud)