> 백엔드 개발 > 파이썬 튜토리얼 > Python 목록 조각에 할당하면 원본 목록이 수정되는 이유는 무엇입니까?

Python 목록 조각에 할당하면 원본 목록이 수정되는 이유는 무엇입니까?

Linda Hamilton
풀어 주다: 2024-12-13 21:51:13
원래의
854명이 탐색했습니다.

Why Does Assigning to a Python List Slice Modify the Original List?

목록 조각 할당 메커니즘 이해

Python 문서에는 목록을 조각하면 새 목록이 생성된다고 명확하게 나와 있습니다. 그러나 목록 조각에 값을 할당하면 원래 목록이 수정된다는 사실을 관찰하면 혼란스러울 수 있습니다. 이 문서에서는 이 동작의 메커니즘을 설명하고 관련 질문을 다룹니다.

1. 슬라이싱으로 반환된 개체가 표현식의 왼쪽에 나타날 수 있나요?

목록을 슬라이싱하면 실제로 새 목록이 생성됩니다. 그러나 슬라이스에 할당하면 "슬라이스 할당"이라는 다른 작업이 수행됩니다. 이 작업은 원본 목록의 지정된 조각을 할당된 값으로 덮어씁니다.

2. 슬라이싱으로 새 목록이 생성되면 원본 목록이 수정되는 이유는 무엇입니까?

슬라이스 할당 작업은 원본 목록에서 직접 작동합니다. 슬라이싱 중에 새 목록이 생성되었음에도 불구하고 할당은 지정된 범위 내에서 원래 목록의 요소를 직접 수정하는 역할을 합니다.

명확하게 설명하기 위해 다음 예를 고려해 보겠습니다.

a = [1, 2, 3]
a[0:2] = [4, 5]
print(a)
로그인 후 복사

이 시나리오에서 a[0:2]를 분할하면 새 목록이 생성되지만 a[0:2] = [4, 5]는 인덱스 0과 5의 요소를 대체합니다. 원래 목록 a의 1개에는 각각 4와 5가 있습니다. 출력 [4, 5, 3]은 원래 목록에 대한 이러한 수정을 확인합니다.

위 내용은 Python 목록 조각에 할당하면 원본 목록이 수정되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿