• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

체크 배열 함수 만드는데 질문있습니다.

21.11.17 20:41 작성 조회수 70

0

선생님께서 2차원 체크 배열 만드실때 항상
ch=[[0] *n for _ in range(n)]
 
과 같이 만드시는데,
 
왜 ch=[[0]*n]*n 으로 만들면 안될까요
 
 
예를 들어 n이 3일때
 
ch=[[0] *3 for _ in range(3)] print(ch)
=> [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
 
ch2=[[0]*3]*3
print(ch2)
=> [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
 
print값은 둘다 동일한데
 
 
ch[0][2]=1
 
ch2[0][2]=1
 
을 넣으면
 
 
print(ch)
=>[[0,0,1],[0,0,0],[0,0,0]]
 
ch2=[[0]*3]*3
print(ch2)
=>[[0,0,1],[0,0,1],[0,0,1]]
 
 
이렇게 결과가도출되네요..
 
어떻게 다른지 알려주세요 ㅠㅠ

답변 0

답변을 작성해보세요.

답변을 기다리고 있는 질문이에요.
첫번째 답변을 남겨보세요!