파이썬 빈 2차원 리스트 선언

배코딩·2022년 3월 25일
1

note

목록 보기
24/149

arr = [[]]*(N+1) 이런 식으로 할당을 하면, 리스트 안의 요소 리스트들이 모두 같은 참조값을 같는 듯 하다. 그래서 어떤 인덱스의 요소 리스트를 수정하면 모든 요소 리스트들이 똑같이 수정된다.

예를 들어 arr[2].append("asd")를 하면

[[],[],["asd"],[],[]]이 아니라
[["asd"],["asd"],["asd"],["asd"],["asd"]] 요렇게 되버린다.

이럴 때는 arr = [[] for i in range(N+1)]
요렇게 리스트 컴프리헨션으로 할당해주면 된다.

profile
PS, 풀스택, 앱 개발, 각종 프로젝트 내용 정리 (https://github.com/minsu-cnu)

0개의 댓글