r = 2; c = 3
lst1 = [[0 for _ in range(c)] for _ in range(r)]
lst2 = [[0]*c for _ in range(r)]
lst3 = [[0]*c]*r
이거 출력은 같지만 다른거 같던데 설명 좀 해주실 친절한 형 있나요
r = 2; c = 3
lst1 = [[0 for _ in range(c)] for _ in range(r)]
lst2 = [[0]*c for _ in range(r)]
lst3 = [[0]*c]*r
이거 출력은 같지만 다른거 같던데 설명 좀 해주실 친절한 형 있나요

GPT 샘한테 go~ 졸라 잘 알랴줌 lst1과 lst2는 독립적인 행들을 가진 2차원 리스트를 생성하는 방법입니다.lst3는 모든 행이 같은 메모리 위치를 참조하는 2차원 리스트를 생성하는 방법입니다. 이러한 방식은 주로 원치 않는 결과를 초래할 수 있습니다.
오 지피티는 신이군요 감사합니다!
?진짜네
똑같음
다 다름 1이랑 2는 결과는 같지만 2가 더 속도가 빠르고 3은 얕은복사가 되기때문에 결과 자체가 달라버림