Python 루프의 목록 수정 이해
루프를 사용하여 목록을 반복하면서 목록 내의 요소를 수정하려고 하면 다음과 같은 오류가 발생할 수 있습니다. 변경 사항이 지속되지 않는 문제입니다. 이 동작은 Python이 루프 내에 할당된 변수를 처리하는 방식에서 비롯됩니다.
핵심 문제
Python에서 루프 내의 요소를 참조하는 변수를 할당하면 목록(예: for i in li:)에서는 목록 자체를 수정하는 것이 아니라 해당 요소에 대한 새 참조를 생성하는 것입니다. 따라서 i를 수정하려고 하면 실제로 목록의 값이 변경되지 않습니다.
예
다음 코드를 고려하세요.
li = ["spam", "eggs"] for i in li: i = "foo" print(li) # Output: ["spam", "eggs"]
루프 내에서 i에 "foo"를 할당했지만 i가 루프의 요소를 직접 참조하지 않기 때문에 li 값은 변경되지 않은 상태로 유지됩니다. li이 아니라 그 복사본입니다.
솔루션
루프 중에 목록 요소를 수정하려면 다음과 같은 여러 옵션이 있습니다.
위 내용은 Python 루프에서 `i`를 수정해도 목록의 요소가 변경되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!