2014-07-13 5 views

답변

6

list.sort 종류 in-place, 그리고 g = d은 복사하지 않고 목록에 대한 참조를 할당합니다. 대신 내장 함수 sorted 정렬하기 전에 g = d[:]로 목록을 복사 또는 사용 변경 가능 여부`D = g` 모든 개체에 대해 동일한 방식으로 동작하는 것이

g = sorted(d) 
2
d가하는 것과 동일한 메모리 어드레스와 g을 수정하여 g = d, g 포인트 일 때 리스트이 때문에, 즉, g = d[:]

-g = d에서 변경을 해결하기 위해 가변이다 파이썬

, d 또한 변경 사항을 가져옵니다.

d을 복사하려면 d[:]을 복사하여 d의 전체 메모리를 새 메모리 주소로 복사합니다. 당신이 d의 하위 목록의 사본을 만들려면 첫 번째 요소는 di-th 요소이며, 마지막 하나는 그것의 (j-1)-th 요소입니다

또한, 새 목록을 만들 것입니다 d[i:j]해야 .

숫자, 문자열 및 튜플은 변경 불가능하며 목록 및 딕테이션은 변경할 수 있습니다. 더보기 : http://ilian.i-n-i.org/python-interview-question-and-answers/#sthash.2WW5LTOA.dpuf

+2

참고. mutability는이 공유를 명백하게하기 위해 좀 더 분명한 방법을 제공합니다 (항상'id' /'is'가 있습니다). – delnan

관련 문제