2016-07-17 2 views
-1

두 개의 중첩 된 for 루프와 두 개의 목록이 있습니다. 하나의 내부 루프를 반복 한 후 tle 목록 중 하나를 다시 초기화해야합니다. 더미 코드 제가 newi 깨끗한 새로운 인스턴스가 내부 루프의 한 번 반복 i의 되길 중첩 된 파이썬 용 변수 범위

def test(): 
i = ['1','5','9','3','6','4'] 
for x in xrange(0,len(i)): 
    j = ['6', '7', '9', '3'] 
    newi = i 
    for y in xrange(0,len(j)): 
     newi[x] = j[y] 
     print "i", i 
    print "end of one iteration on finner loop" 
    print "newi", newi 
test() 

는 현재는 내부 루프의 값을 구명

전류 출력 :

i ['6', '5', '9', '3', '6', '4'] 
i ['7', '5', '9', '3', '6', '4'] 
i ['9', '5', '9', '3', '6', '4'] 
i ['3', '5', '9', '3', '6', '4'] 
end of one iteration on inner loop 
newi ['3', '5', '9', '3', '6', '4'] 
i ['3', '6', '9', '3', '6', '4'] 
i ['3', '7', '9', '3', '6', '4'] 
i ['3', '9', '9', '3', '6', '4'] 
i ['3', '3', '9', '3', '6', '4'] 
end of one iteration on inner loop 
newi ['3', '3', '9', '3', '6', '4'] 
i ['3', '3', '6', '3', '6', '4'] 
i ['3', '3', '7', '3', '6', '4'] 
i ['3', '3', '9', '3', '6', '4'] 
i ['3', '3', '3', '3', '6', '4'] 
end of one iteration on inner loop 
newi ['3', '3', '3', '3', '6', '4'] 
i ['3', '3', '3', '6', '6', '4'] 
i ['3', '3', '3', '7', '6', '4'] 
i ['3', '3', '3', '9', '6', '4'] 
i ['3', '3', '3', '3', '6', '4'] 
end of one iteration on inner loop 
newi ['3', '3', '3', '3', '6', '4'] 
i ['3', '3', '3', '3', '6', '4'] 
i ['3', '3', '3', '3', '7', '4'] 
i ['3', '3', '3', '3', '9', '4'] 
i ['3', '3', '3', '3', '3', '4'] 
end of one iteration on inner loop 
newi ['3', '3', '3', '3', '3', '4'] 
i ['3', '3', '3', '3', '3', '6'] 
i ['3', '3', '3', '3', '3', '7'] 
i ['3', '3', '3', '3', '3', '9'] 
i ['3', '3', '3', '3', '3', '3'] 
end of one iteration on inner loop 
newi ['3', '3', '3', '3', '3', '3'] 

답변

0

대신 :

newi = i 

repla ce :

newi = list(i) # list(i) creates another copy i