목록*의 동작
2248 단어 Python
개시하다
며칠 전에 본 트위터.
파이썬에서 >a=[0]*3]a[0][0] = 1은 [1,0,0], [0,0]도 [1,1], [1,1], [1,1],] [1,0], [1,0], [1,0], [1,0], [1,0], [1,0], [1,0], [1,0], [1,0], [1,0], [1,0], [1,0], [1,0], [1,0], [1,0], [1,0],Hideyuki Tanaka (@tanakh) 2018년 3월 26일
내가 이렇게 된 이유를 설명해 줄게.
[0]
일단이렇게 쓰면 무슨 뜻이죠?그림으로 쓰는 것이 바로 이 뜻이다.
그렇지 않다'는 그림도 쓰고 싶었지만 귀찮아서 포기했다.
즉 [0]는 상자 안에 0이 있는 것이 아니라 상자 안에 0이라는 실체가 있다는 참고 정보를 가리킨다.
[0]*3
다음은 [0]*3시에 할 수 있는 것.
네, 여기가 중요해요.1요소, 2요소, 3요소는 모두 같은 0의 실체를 가리킨다.
[[0]*3]*3
그럼 문제[0]*3]*3.
세 가지 요소의 목록에서 각각 [0]*3이라는 목록의 실체를 가리킨다.
a[0][0]=1
그렇다면 a[0]=1이면 어떨까.이렇게
세 요소 모두 0을 가리켰던 안쪽 리스트가 1만을 가리킨 것이다.
다른 한편, 외부의 목록은 여전히 각 요소가 하나의 실체만 있는 내부 목록을 가리키는 상태이다.그러므로[[1, 0, 0], [1, 0, 0], [1, 0, 0]]
.
총결산
목록*이 표시되면 참조 정보가 복사됩니다.가리키는 것은 복제된 것이 아니다.만약 이곳의 행동을 이해하지 못한다면 프로그램을 쓰면 불행할 수도 있다.
Reference
이 문제에 관하여(목록*의 동작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/junjis0203/items/7ad0b7ec8d27c51b9d67
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
일단이렇게 쓰면 무슨 뜻이죠?그림으로 쓰는 것이 바로 이 뜻이다.
그렇지 않다'는 그림도 쓰고 싶었지만 귀찮아서 포기했다.
즉 [0]는 상자 안에 0이 있는 것이 아니라 상자 안에 0이라는 실체가 있다는 참고 정보를 가리킨다.
[0]*3
다음은 [0]*3시에 할 수 있는 것.
네, 여기가 중요해요.1요소, 2요소, 3요소는 모두 같은 0의 실체를 가리킨다.
[[0]*3]*3
그럼 문제[0]*3]*3.
세 가지 요소의 목록에서 각각 [0]*3이라는 목록의 실체를 가리킨다.
a[0][0]=1
그렇다면 a[0]=1이면 어떨까.이렇게
세 요소 모두 0을 가리켰던 안쪽 리스트가 1만을 가리킨 것이다.
다른 한편, 외부의 목록은 여전히 각 요소가 하나의 실체만 있는 내부 목록을 가리키는 상태이다.그러므로[[1, 0, 0], [1, 0, 0], [1, 0, 0]]
.
총결산
목록*이 표시되면 참조 정보가 복사됩니다.가리키는 것은 복제된 것이 아니다.만약 이곳의 행동을 이해하지 못한다면 프로그램을 쓰면 불행할 수도 있다.
Reference
이 문제에 관하여(목록*의 동작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/junjis0203/items/7ad0b7ec8d27c51b9d67
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
그럼 문제[0]*3]*3.
세 가지 요소의 목록에서 각각 [0]*3이라는 목록의 실체를 가리킨다.
a[0][0]=1
그렇다면 a[0]=1이면 어떨까.이렇게
세 요소 모두 0을 가리켰던 안쪽 리스트가 1만을 가리킨 것이다.
다른 한편, 외부의 목록은 여전히 각 요소가 하나의 실체만 있는 내부 목록을 가리키는 상태이다.그러므로[[1, 0, 0], [1, 0, 0], [1, 0, 0]]
.
총결산
목록*이 표시되면 참조 정보가 복사됩니다.가리키는 것은 복제된 것이 아니다.만약 이곳의 행동을 이해하지 못한다면 프로그램을 쓰면 불행할 수도 있다.
Reference
이 문제에 관하여(목록*의 동작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/junjis0203/items/7ad0b7ec8d27c51b9d67
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
[[1, 0, 0], [1, 0, 0], [1, 0, 0]]
목록*이 표시되면 참조 정보가 복사됩니다.가리키는 것은 복제된 것이 아니다.만약 이곳의 행동을 이해하지 못한다면 프로그램을 쓰면 불행할 수도 있다.
Reference
이 문제에 관하여(목록*의 동작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/junjis0203/items/7ad0b7ec8d27c51b9d67텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)