728x90
>> words = [[0]*15]*5
>> words = [[0 for j in range(15)] for i in range(5)]
위 두 개의 코드의 차이점은 리스트의 초기화 방법이다.
'[0]*15'는 0으로 초기화된 길이가 15인 리스트를 만들고, 이 리스트를 5번 반복하여 5개의 리스트를 생성한다.
이 경우, 5개의 리스트가 모두 동일한 리스트 객체를 참조하므로, 한 리스트를 수정하면 모든 리스트가 영향을 받는다.
'words = [[0 for j in range(15)] for i in range(5)]' 코드의 경우 0으로 초기화된 길이가 15인 리스트를 5버 생성하여, 5개의 독립된 리스트를 만든다.
이 경우, 5개의 리스트가 서로 독립적으로 생성되므로, 한 리스트를 수정해도 다른 리스트에 영향을 주지 않는다.
'BAEKJOON (Python) > 단계별' 카테고리의 다른 글
BAEKJOON_1934 "최소공배수" PYTHON (0) | 2023.03.28 |
---|---|
BAEKJOON_10798 "세로읽기" PYTHON (0) | 2023.03.27 |
BAEKJOON_1085 "직사각형에서 탈출" PYTHON (0) | 2023.03.22 |
BAEKJOON_27323 "직사각형" PYTHON (0) | 2023.03.22 |
BAEKJOON_2798 "블랙잭" PYTHON (0) | 2023.03.21 |