함수 내 목록 수정
함수에서 목록 매개변수로 작업할 때 함수에 전달된 참조는 원래 목록을 가리킵니다. 함수 내의 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)의 요소를 원래 목록에 할당하여 목록을 효과적으로 수정합니다.
내부 수정은 편리해 보일 수 있지만 이해하기 어려워지고 코드를 유지 관리하는 개발자에게 혼란을 초래할 수 있다는 점에 유의하는 것이 중요합니다. 명시적 재할당은 일반적으로 명확성과 가독성을 위해 선호됩니다.
위 내용은 Python의 함수 내에서 목록을 수정하는 방법: 참조로 전달 또는 내부 수정?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!