사전을 반복할 때 올바른 구문과 행동 양식. iterable에서 사용할 수 있는 것보다 더 많은 값을 압축 해제하려고 하면 "압축 해제할 값이 너무 많습니다"라는 오류가 발생합니다.
주어진 코드 조각에서:
first_names = ['foo', 'bar'] last_names = ['gravy', 'snowman'] fields = { 'first_names': first_names, 'last_name': last_names, } for field, possible_values in fields: # error happens on this line
오류가 발생하는 이유는 사전의 키를 반복하여 반환된 단일 튜플에서 두 값(field 및 available_values)의 압축을 풀려고 합니다. 이 문제를 해결하려면 Python 버전에 따라 두 가지 옵션이 있습니다.
Python 3에서는 items() 메서드를 사용하여 사전의 키와 값을 모두 반복합니다.
<code class="python">for field, possible_values in fields.items(): print(field, possible_values)</code>
Python 2에서는 items() 대신 iteritems() 메서드를 사용합니다.
<code class="python">for field, possible_values in fields.iteritems(): print field, possible_values</code>
items()와 iteritems() 모두 키-값 쌍의 시퀀스를 반환하여 루프 내에서 적절하게 압축을 풀 수 있습니다.
또는 사전의 키나 값만 필요한 경우 직접 반복할 수 있습니다.
# Iterate over keys for field in fields.keys(): print(field) # Iterate over values for possible_values in fields.values(): print(possible_values)
위 내용은 Python Dict 반복에서 \'풀기할 값이 너무 많습니다\' 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!