딕셔너리에서 삭제하기

딕셔너리에서 특정 값 삭제를 반복문에서 실행하면 에러발생함.
keys = ['alpha', 'bravo', 'charlie', 'delta', 'echo', 'foxtrot', 'golf']
values = [30, 40, 50, 60, 70, 80, 90]
x = dict(zip(keys, values))
for k, v in x.items():
if v == 30:
del x[k]
Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
for k, v in x.items():
RuntimeError: dictionary changed size during iteration
이런경우 딕셔너리 컴프리헨션으로 해결 가능
keys = ['alpha', 'bravo', 'charlie', 'delta', 'echo', 'foxtrot', 'golf']
values = [30, 40, 50, 60, 70, 80, 90]
x = dict(zip(keys, values))
x = { k: v for k, v in x.items() if v != 30 }
print(x)
'dev > Python' 카테고리의 다른 글
파이썬의 정수 캐싱(Integer Caching) 메커니즘 (0) | 2025.03.12 |
---|---|
Python 패키지 관리의 혁신 - uv 소개 (0) | 2024.11.08 |
defaultdict (0) | 2022.03.04 |
django 모듈을 파이썬 소스에서 실행할때.. (0) | 2022.02.15 |
macOS에서 django 개발환경 셋팅하는 순서 (0) | 2022.02.12 |
댓글