함수 내 목록 수정
함수에서 목록 매개변수로 작업할 때 함수에 전달된 참조는 원래 목록을 가리킵니다. 함수 내의 list_arg 변수에 대한 모든 수정 사항은 해당 로컬 범위로 제한되며 원본 목록에는 영향을 주지 않습니다.
이 문제를 피하고 원본 목록을 수정하려면 요소를 목록에 직접 할당해야 합니다. 전체 목록을 새 값으로 다시 할당하는 대신. 예는 다음과 같습니다.
def function1(list_arg): a = function2() # function2 returns an array of numbers list_arg[:] = list(a) list1 = [0] * 5 function1(list1) print(list1) # [1, 2, 3, 4, 5]
이 수정된 코드에서는 슬라이스 표기법 list_arg[:]를 사용하여 list(a)의 요소를 원본 목록에 할당합니다. 목록을 효과적으로 수정합니다.
내부 수정이 편리해 보일 수도 있지만 이해하기 어려워지고 코드를 유지 관리하는 개발자에게 혼란을 초래할 수 있다는 점에 유의하는 것이 중요합니다. 명시적 재할당은 일반적으로 명확성과 가독성을 위해 선호됩니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3