life is egg
파이썬 2차원배열 생성시 주의할점 본문
2차원 배열을 만져보다가 생긴 오류..
b_cost=([1e9]*N)*N) 이렇게해서 2차원 배열을 만들어줬는데
사진 하단에서 b_[0][0]=0 으로 초기화 시켜주면 0,0 의지점이 0 이될거라고 생각했는데
모든 행의 0번째 열이 0으로 초기화되었다..
그래서 찾아보았는데
이렇게 2차원 배열을 b_cost=([1e9]*N)*N) 이렇게 생성한다면 모든 행이 동일 . 한리스트 객체를 참조하게된다.
따라서 정상적으로 2차원 배열을 만들고싶다면
원하는 대로 특정 행만 0으로 초기화하려면 리스트 컴프리헨션 등을 사용하여 각 행을 별도의 리스트로 초기화해야한다..
b_cost = [[1e9] * N for _ in range(N)] # 각 행을 별도의 리스트로 초기화
b_cost[0][0] = 0 # 첫 번째 행의 첫 번째 열을 0으로 설정
'개인공부 > 삽질' 카테고리의 다른 글
grafana+prometheus+node export.. 모티니터링 툴을 이용한 오류 검출.. (0) | 2024.07.13 |
---|---|
나만무.. 통신..! (0) | 2024.06.25 |
presignedURL 적용 (0) | 2023.03.17 |
이메일 비동기처리 (0) | 2023.03.17 |
핫이슈 게시물 좋아요기준 top3 (0) | 2023.03.17 |
Comments