我有以下代码:问题与Python范围()
def steps(low, hi, n):
rn = range(n)
newrn = rn
print rn #print 1
for x in rn[:]:
print x
newrn[x] = float(x)/n
diff = hi - low
print newrn
print rn #print 2
for y in rn[:]:
print y
rn.insert(y, (newrn[y] * diff) + low)
return rn
出于某种原因,我的RN返回第一打印[0,1,2],但我的第二打印返回[0,.333, 0.666。为什么会改变?我只改变了新的,但也正在改变。当它试图运行rn.insert行时,这让我得到'列表索引必须是整数不浮点'错误。
有帮助吗?