Python 문서에 따르면 목록을 분할하면 새 목록이 반환됩니다.
이제 "새"목록이 반환되면 "슬라이스에 할당"과 관련된 다음과 같은 의심이 있습니다.
a = [1, 2, 3]
a[0:2] = [4, 5]
print a
이제 출력은 다음과 같습니다.
[4, 5, 3]
- 무언가를 반환하는 것이 어떻게 표현의 왼쪽에 올 수 있습니까?
- 예, 문서를 읽었는데 목록을 분할하면 "새"목록이 반환되기 때문에 가능하다고합니다. 원래 목록이 수정되는 이유는 무엇입니까? 나는 그 뒤에있는 메커니즘을 이해할 수 없습니다.
a[0] = 4
을 할 것인지 이해 합니까?
=
. 그래서 이것을 잘못된 구문으로 버리는 대신 파이썬은 여러분이 기대할 수있는 것과 비슷한 것으로 바꾸어줍니다. 파이썬에는 참조가 없기 때문에 슬라이스 결과가 원래 목록을 변경하도록 작동하지 않습니다. 당신은 사본을 얻습니다. 애플리케이션에 대한 더 많은 정보를 제공했다면 'pythonic'방식으로 작업을 수행하는 데 더 나은 도움을 드릴 수 있습니다. :)