>백엔드 개발 >파이썬 튜토리얼 >Python 목록 복사본을 변경하면 원본 목록에 영향을 미치는 이유는 무엇입니까?

Python 목록 복사본을 변경하면 원본 목록에 영향을 미치는 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-08 20:19:02385검색

Why Do Changes to a Python List Copy Affect the Original List?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.