Python: 참조 복사 이해
Python에서 목록의 복사본을 만들 때 복사본도 원본 목록에 영향을 줍니다. 이는 Python이 별도의 인스턴스 대신 원본 목록에 대한 참조를 생성하는 참조 복사를 사용하기 때문입니다.
설명을 위해 다음 코드를 고려해 보겠습니다.
org_list = ['y', 'c', 'gdp', 'cap'] copy_list = org_list copy_list.append('hum') print(copy_list) print(org_list)
이 코드는 다음을 출력합니다. :
['y', 'c', 'gdp', 'cap', 'hum'] ['y', 'c', 'gdp', 'cap', 'hum']
보시다시피 원본 목록 org_list는 copy_list 추가 작업 후에 수정됩니다. 이는 copy_list가 별도의 인스턴스가 아니라 오히려 org_list에 대한 참조이기 때문입니다.
원본 목록의 독립적인 복사본을 생성하려면 슬라이싱 연산자를 사용할 수 있습니다.
copy_list = org_list[:]
이렇게 하면 org_list의 복사본인 새 목록. copy_list에 대한 변경 사항은 더 이상 org_list에 영향을 미치지 않습니다. 이 접근 방식은 Pandas DataFrames와 같은 다른 유형의 변수를 복사하는 데에도 사용할 수 있습니다.
위 내용은 Python 목록 복사본을 변경하면 원본 목록에 영향을 미치는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!