728x90
|파이썬 에러코드|
예외가 발생하였습니다. Runtime Error 발생 시 코드 수정 방법
에러 메시지 : dictionary changed size during iteration
발생 경우 : loop문 도중 dictionary key 값을 삭제할 때 발생
원인 : python에서는 dictionary를 mutable한 변수로 보고 있고 데이터가 변경되면 이를 반영하기 때문이다.
그렇기 때문에 iteration을 수행하는 도중에 key가 삭제되면 사이즈 변경을 인지하여 runtime 에러를 발생시키는 것이다.
[출처] [python3] RuntimeError: dictionary changed size during iteration 해결하는 방법|작성자 예스베이비
해결 방법 : dict.keys() 로 loop문을 진행하지 말고 list에 넣어서 진행
예시.
오류 발생 하는 코드
for tk in have_tickers.keys():
ticker_sell_check(tk)
time.sleep(1)
수정한 코드
for tk in list(have_tickers):
ticker_sell_check(tk)
time.sleep(1)
728x90
반응형
'Python' 카테고리의 다른 글
[Python] local variable 'profit' referenced before assignment (0) | 2021.10.23 |
---|---|
[Python] pyupbit를 활용한 가상화폐 자동 매매 프로그램 - 3탄 (8) | 2021.09.07 |
[Python] pyupbit를 활용한 가상화폐 자동 매매 프로그램 - 2탄 (0) | 2021.09.05 |
[Python] pyupbit를 활용한 가상화폐 자동 매매 프로그램 - 1탄 (0) | 2021.09.02 |
[Python] conda 명령어 (0) | 2021.08.22 |
댓글