나는 다음과 같은 코드가 있습니다 어떤 이유로문제()
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, 0.333, .666]. 왜 rn이 바뀌고 있습니까? 나는 newrn 만 변경하지만 rn도 변경됩니다. 이것은 rn.insert 라인을 실행하려고 할 때 '리스트 인덱스가 float 정수가 아니어야한다'라는 에러를 발생하게한다.
어떤 도움이 필요합니까?