ValueError 해결: Python 사전에서 풀기에 너무 많은 값(예상 2)

Olorunfemi Akinlua 2023년6월21일
  1. ValueError: too many values to unpack (expected 2) 해결 사전 키 사용
  2. ValueError: too many values to unpack (expected 2) 해결 사전 값 사용
  3. ValueError: too many values to unpack (expected 2) 사전 items()를 사용하여 해결
ValueError 해결: Python 사전에서 풀기에 너무 많은 값(예상 2)

Python에서 사전이나 목록을 다룰 때 ValueError가 발생할 가능성이 높습니다. 이는 종종 값에 액세스할 때 잘못된 인덱스 또는 속성을 전달하기 때문입니다.

사전을 사용하여 값을 반복할 때 ValueError 또는 포장을 풀기에 너무 많은 값(예상 2) 오류 메시지를 방지하기 위해 사전을 순회하는 적절한 방법을 이해해야 합니다.

이 문서에서는 사전 속성 및 값을 트래버스하거나 액세스하고 ValueError: too many values to unpack (expected 2) 오류를 방지하는 세 가지 방법에 대해 설명합니다.

ValueError: too many values to unpack (expected 2) 해결 사전 키 사용

오류 메시지를 해결하기 전에 ValueError: too many values to unpack (expected 2) 오류를 일으키는 시나리오를 복제해 보겠습니다.

사전이 있고 키와 값을 반복하고 키와 값을 인쇄할 계획인 경우. 일부 초보자는 아래 코드 스니펫을 시도해보고 싶을 수도 있습니다.

dictionary = {"color": "blue", "shape": "square", "volume": 40}

for key, values in dictionary:
    print("Key: " + key)
    print("Value: " + str(values))
    print("===")

코드 출력:

Traceback (most recent call last):
  File "c:\Users\akinl\Documents\HTML\python\dict.py", line 8, in <module>
    for key, values in dictionary:
ValueError: too many values to unpack (expected 2)

ValueError: too many values to unpack (expected 2) 오류 메시지가 출력 영역에 표시되고 이를 해결하려면 for/in 루프가 iterable(list, tuple)을 반복하여 작동한다는 것을 이해해야 합니다. , 설정 등).

그러나 딕셔너리의 경우 메서드 없이 키만 직접 반복 가능합니다. 따라서 코드가 작동하도록 하려면 키 key에 액세스하기 위해 하나의 변수에만 액세스해야 하며 키와 값에 액세스하기 위해 두 개가 아니라 필요합니다.

이제 남은 것은 값에 액세스하는 방법입니다. 값에 액세스하려면 대괄호 표기법 dictionary[key] 내에서 단일 변수 key를 사용할 수 있습니다.

dictionary = {"color": "blue", "shape": "square", "volume": 40}

for key in dictionary:
    value = dictionary[key]
    print("Key: " + key)
    print("Value: " + str(value))
    print("===")

코드 출력:

Key: color
Value: blue
===
Key: shape
Value: square
===
Key: volume
Value: 40
===

간단한 코드 변경으로 ValueError: too many values to unpack (expected 2) 오류를 제거하고 문제 없이 Python 내의 사전 개체를 반복했습니다.

ValueError: too many values to unpack (expected 2) 해결 사전 값 사용

동일한 시나리오를 사용하여 사전 개체와 함께 제공되는 values() 메서드를 사용하여 직접 값에 액세스할 수 있습니다. 이를 통해 키 대신 값에 액세스할 수 있습니다.

따라서 동일한 시나리오에 대해 값에만 액세스할 수 있습니다. 값만 유용한 경우에 유용합니다.

dictionary = {"color": "blue", "shape": "square", "volume": 40}

for value in dictionary.values():
    print("Value: " + str(value))
    print("===")

코드 출력:

Value: blue
===
Value: square
===
Value: 40
===

ValueError: too many values to unpack (expected 2) 사전 items()를 사용하여 해결

ValueError: too many values to unpack (expected 2) 오류를 제공한 첫 번째 코드 스니펫을 사용하여 items()라는 사전 메서드를 사용하여 오류 없이 두 변수를 유지할 수 있습니다.

items() 메소드는 사전에 적용할 때 튜플 내에 저장된 키-값 쌍(뷰 객체)을 반환합니다. 구조 분해의 도움으로 두 값을 변수(keyvalue)로 구문 분석하고 for 루프 코드 블록 내에서 키와 값에 개별적으로 액세스하는 데 사용할 수 있습니다.

dictionary = {"color": "blue", "shape": "square", "volume": 40}

for key, value in dictionary.items():
    print("Key: " + str(key))
    print("Value: " + str(value))
    print("===")

코드 출력:

Key: color
Value: blue
===
Key: shape
Value: square
===
Key: volume
Value: 40
===

dictionary.items() 출력을 더 잘 이해하려면 아래 코드가 유용합니다.

print(dictionary.items())

출력:

dict_items([('color', 'blue'), ('shape', 'square'), ('volume', 40)])

출력은 반복할 수 있는 튜플을 포함하는 dict_items 목록입니다.

Olorunfemi Akinlua avatar Olorunfemi Akinlua avatar

Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.

LinkedIn

관련 문장 - Python Error