하지만 사전에서 키만 사용하기 위해 순환하는 경우는 거의 없습니다. 코드의 일부에서 실제로 값을 사용하는 일이 드물다 하더라도 이를 순환 변수로 포함하는 비용은 거의 들지 않습니다. 파이썬 객체는 참조를 통해 접근한다는 사실을 기억하세요. 즉, 순환 변수에 기존 객체의 참조를 할당할 뿐 실제로 객체를 복사하거나 생성하지는 않습니다.
다시 말해 다음처럼 처리할 필요가 없습니다.
for key in my_dict: if rare_condition(key): val = my_dict[key] process(key, val)
이렇게 깔끔하고 파이썬다운 코드를 작성하면 됩니다.
for key, val = my_dict.items(): if rare_condition(key): process(key, val)
이 문제는 앞의 enumerate()의 사용과 마찬가지로 린터가 경고해 줍니다. 하지만 경고를 확인하는 것보다 더 중요한 것은 순환의 기제(mechanism)를 이해하는 것입니다.