함수에서의 리스트 수정..?
어제 몇 시간을 아래 코드 가지고 씨름하고 있었다...;; 결국 함수에서의 인자 전달 과정에 대해 여러 번 다시 찾아보았고, 배운 것이 많았다 ㅠㅠ def foo(input : list) -> None: input = [0] bar = [1,2,3] foo(bar) print(bar) # [1,2,3] (왜 [0]이 아니지? 라고 생각하셨다면, 처음의 저와 같은 생각을 하신 겁니다..ㅎ) 결론부터 이야기하자면, 위의 함수는 리스트를 수정하는 것이 아니라 재할당하는 것이다. 즉, 리스트를 수정하는 경우와 재할당하는 것은 다르다. 그러니까, 아래의 코드는 우리가 생각하는 대로 동작한다. def foo(input : list) -> None: input[-1] = 0 bar = [1,2,3] foo(bar) ..
2021. 2. 7.