#python #anaconda #jupyter-notebook #visual-code #html #css #javascript #http

제목step 11 중 질문2020-04-26 22:52
작성자

c=[1,1,1,1,2,3,5,8]이라 할 때,

mb-file.php?path=2020%2F04%2F26%2FF972_step%2010%20%EC%A7%88%EB%AC%B8%202.jpg 위 캡쳐본을 실행시켰습니다. 

그러면 x에 1,1,1,1,2,3,5,8의 값이 처음부터 차례대로 대입되어서, for의 block이 한번 끝나면 다음의 x로 넘어가는 식으로 연산이 되잖아요.

이때 위 캡쳐본의 식에서 for의 block의 마지막 부분에 c.remove(x) 가 실행됩니다. 그런데 대부분의 list의 method는 aliasing이고, remove 역시 aliasing 으로 적용되는 걸로 알고있는데, c.remove(x)를 함으로써 바뀌어 버린 리스트 c의 item들이 맨 윗줄의 for x in c 의 c에는 적용되지 않나요?

즉, 저 for 구문에 있는 c는 for의 block에서 c의 리스트의 값들이 바뀌던 말던 처음의 c가 그대로 적용되는건가요??

댓글
이전[re]none이 출력되는 이유2020-04-26
다음[re]step 11 중 질문2020-04-26