python - a=[1,2,3,4,5],b=a和b=a[:],有区别么?
ringa_lee
ringa_lee 2017-04-18 09:23:15
0
3
971
ringa_lee
ringa_lee

ringa_lee

모든 응답(3)
迷茫

당신이 부르죠

으아악

차이점을 확인할 수 있습니다.

  • 전자는 참고를 통과

  • 후자는 카피

大家讲道理
  • b=aba에서 참조하는

  • 객체를 참조하도록 만듭니다.
  • a[:]은 a의 복사본을 생성하므로 b=a[:]b가 이 복사본을 참조하도록 합니다. 즉, ba는 이제 서로 다른 개체를 참조하지만 두 개체가 동일합니다(동일하지는 않지만 동일함)

그래서 겉보기에는 둘 사이에 차이가 없어 보이지만, 전자라면 b이나 a을 바꾸면 둘 다 영향을 받습니다. 왜냐하면 둘 다 같은 객체를 참조하기 때문입니다. 후자는 서로 다른 객체를 참조하기 때문에 서로 영향을 미치지 않습니다. @hsfzxjy의 예는 이를 지적하는 것이며, 실험을 통해 차이점을 배울 수 있습니다.


내가 답변한 질문: Python-QA

Ty80

파이썬에는 객체의 주소를 알아낼 수 있는 id라는 함수가 있는데, 출력해 보면 알 수 있습니다. Direct =는 원래 객체를 참조하는 참조 할당이고, [:]는 새로운 객체를 생성하는 재유도입니다.

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!