>  기사  >  백엔드 개발  >  Python Dict 반복에서 \"풀기할 값이 너무 많습니다\" 오류를 해결하는 방법은 무엇입니까?

Python Dict 반복에서 \"풀기할 값이 너무 많습니다\" 오류를 해결하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-20 19:28:30179검색

How to Resolve

Python: Dict 반복을 위한 "압축 해제할 값이 너무 많습니다": 이해 및 해결

사전을 반복할 때 올바른 구문과 행동 양식. 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

Python 3에서는 items() 메서드를 사용하여 사전의 키와 값을 모두 반복합니다.

<code class="python">for field, possible_values in fields.items():
    print(field, possible_values)</code>

Python 2

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.