-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
체크 배열 함수 만드는데 질문있습니다.
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