프로그래밍 언어/Python

파이썬 'for' 루프를 사용하여 딕셔너리 반복

Rateye 2021. 9. 14. 10:25
728x90
반응형
질문 : 'for'루프를 사용하여 사전 반복

다음 코드에 약간 의아해합니다.

d = {'x': 1, 'y': 2, 'z': 3} 
for key in d:
    print (key, 'corresponds to', d[key])

내가 이해하지 못하는 것은 key 부분입니다. 파이썬은 사전에서 키를 읽기만하면된다는 것을 어떻게 인식합니까? key 은 파이썬에서 특별한 단어입니까? 아니면 단순히 변수입니까?

답변

key 는 변수 이름입니다.

for key in d:
    

키와 값이 아니라 사전에있는 키를 단순히 반복합니다. 키와 값을 모두 반복하려면 다음을 사용할 수 있습니다.

Python 3.x의 경우 :

for key, value in d.items():
    

Python 2.x의 경우 :

for key, value in d.iteritems():
    

직접 테스트하려면 key 단어를 poop 변경하십시오.

Python 3.x에서 iteritems() items() ()로 대체되었습니다 iteritems() 처럼 dict에 의해 뒷받침되는 세트와 같은 뷰를 반환하지만 더 좋습니다. viewitems() 로도 사용할 수 있습니다.

items() 작업은 2와 3 모두에서 작동하지만 2에서는 사전의 (key, value) items() 호출 이후에 발생하는 dict에 대한 변경 사항을 반영하지 않습니다. 3.x에서 2.x 동작을 원하면 list(d.items()) 호출 할 수 있습니다.

출처 : https://stackoverflow.com/questions/3294889/iterating-over-dictionaries-using-for-loops
728x90
반응형