Python에서 KeyError 0 해결

Fariba Laiq 2023년6월21일
  1. Python의 KeyError 0 예외
  2. Python에서 try-except 블록을 사용하여 KeyError 0 해결
  3. dict.get()을 사용하여 Python에서 KeyError 0 해결
  4. if-else를 사용하여 Python에서 KeyError 0 해결
Python에서 KeyError 0 해결

모든 프로그래밍 언어에는 많은 오류가 발생합니다. 일부는 컴파일 타임에, 일부는 런타임에 발생합니다.

KeyError는 코드 구문이 올바른 런타임 오류이지만 코드 실행 중에 오류가 발생합니다.

Python의 KeyError 0 예외

KeyError 0은 우리가 액세스하려고 하는 매핑 키 0이 정의되지 않은 경우 Python의 런타임에서 발생합니다. 매핑 키는 KeyError 0 예외를 발생시킵니다.

맵은 콜론 :으로 한 값을 다른 값으로 매핑하는 일종의 데이터 구조입니다. 사전은 가장 일반적인 매핑 유형입니다.

아래 예에서는 해당 학생의 이름이 있는 세 개의 키만 사전에 정의되어 있습니다. 사전의 다른 키에 액세스하려고 하면 KeyError가 발생합니다.

예제 코드:

# Python 3.x
dict = {1: "kelvin", 2: "Ron", 3: "James"}
print(dict[0])

출력:

#Python 3.x
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-1-f0366e7afb22> in <module>()
      1 dict = {1: 'kelvin', 2:'Ron' , 3:'James'}
----> 2 print(dict[0])

KeyError: 0

여기서 사전에서 키 0에 액세스하면 키 0이 없기 때문에 KeyError 0이 생성됩니다.

Python에서 KeyError 0을 해결하는 방법에는 여러 가지가 있습니다. 다음은 설명과 코드가 포함된 몇 가지 방법입니다.

Python에서 try-except 블록을 사용하여 KeyError 0 해결

이 예에서 0은 dict에 정의되어 있지 않지만 try-except 블록이 처리하기 때문에 KeyError 0 예외가 발생하지 않습니다. 오류 대신 예외 블록에 명령문을 인쇄합니다.

예제 코드:

# Python 3.x
dict = {3: "Kelvin", 5: "James", 6: "Danial"}
try:
    print(dict[0])
except KeyError:
    print("key not present in the dictionary")

출력:

#Python 3.x
key not present in the dictionary

dict.get()을 사용하여 Python에서 KeyError 0 해결

get() 메서드는 KeyError를 효과적으로 처리합니다. get()을 사용하여 사전에 없는 키에 대한 기본값 또는 메시지를 반환할 수 있습니다.

이 예에서 키 0은 존재하지 않으므로 기본 설정 문인 key 0 does not exist in dictionary를 인쇄합니다. 기본값을 제공하지 않으면 이 메서드는 None을 반환합니다.

예제 코드:

# Python 3.x
dict = {3: "Kelvin", 5: "James", 6: "Danial"}
print(dict.get(0, "key 0 does not exist in dictionary"))

출력:

#Python 3.x
key 0 does not Exist in dictionary

if-else를 사용하여 Python에서 KeyError 0 해결

0에 액세스하기 전에 예제와 같이 for 루프와 if-else 문을 사용하여 키가 사전에 있는지 여부를 확인할 수 있습니다. 키에 대해 사전의 값만 인쇄합니다.

예제 코드:

# Python 3.x
dict = {3: "Kelvin", 5: "James", 6: "Danial"}
for i in range(1, 7):
    if i in dict:
        print(dict[i])
    else:
        continue

출력:

#Python 3.x
Kelvin
James
Danial
작가: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

관련 문장 - Python Error