오늘 코드를 짜다 아주아주 화가 나는 오류를 겪다가 드디어 이유를 알아냈다.
너무 기본적인 실수라 너무 부끄럽지만
다시는 안하기 위해 공개 처형...😂
다음과 같이 이중 for문을 사용하는데 계속 같은 값이 동시에 들어가는 것이다!!!!
x = [[]]*5
for i in range(5):
for j in range(3):
x[i-1].append(j)
문제는 바로 리스트 선언에 있었다.
x = [[]]*5
for i in range(5):
print(id(x[i]))
모든 내부 리스트의 주소값이 같았던 것!
이중 리스트 할당은 무조건... 리스트 컨프리헨션으로 합시다...
x = [[] for i in range(5)]
for i in range(5):
print(id(x[i]))
정신차리기...
'Code > Python' 카테고리의 다른 글
Python 클래스 톺아보기 _ 1편 (0) | 2025.02.28 |
---|---|
파이썬의 스케쥴러, sched (0) | 2024.02.04 |
[python] 피팅한 분포에서 랜덤 값 뽑기 (0) | 2023.06.23 |
[python] 코드 실행 시간 측정하기 (0) | 2022.08.07 |
NumPy 어레이 정렬 np.argsort() (0) | 2022.05.02 |
댓글