Python 사전에서 누락된 키 처리

| | | | | | | | | | | | | | | | | | | |

# 사전을 보여주는 Python 코드 및
# 누락 값 오류


# 사전 초기화

d <코드 클래스 = "키워드"> = <코드 클래스 = "일반"> { <코드 클래스 = "문자열"> `a` <코드 클래스 ="일반 " >: <코드 클래스 ="값 "> 1 <코드 클래스 ="일반 ">, <코드 클래스 ="문자열 ">` b` <코드 클래스 = "plain">: 2 }


# 누락된 키 값 표시 시도

인쇄 ( "`c`와 관련된 값은 다음과 같습니다. " )

인쇄 (d [< /코드> <코드 클래스 ="문자열 ">` c` <코드 클래스 = "일반">])

오류:

추적(가장 최근 호출 마지막): 파일 "46a9aac96614587f5b794e451a8f4f5f.py", 9행, in print (d [`c`]) KeyError:` c` 

In 위의 예에서 사전에 "c"라는 이름의 키는 런타임 오류를 제공하지 않았습니다. 이러한 상황을 피하고 특정 키가 누락되었음을 사용자에게 알리거나 해당 위치에 기본 메시지를 보내기 위해 누락된 키를 처리하는 여러 가지 방법이 있습니다.

방법 1: get() 사용

get (key, def_val) 메소드는 키의 유효성을 검사해야 할 때 유용합니다. 키가 있으면 키와 관련된 값이 인쇄되고, 그렇지 않으면 인수로 전달된 def_value가 반환됩니다.

방법 2: setdefault() 사용

setdefault(key, def_value) 는 get()처럼 작동하지만 차이점은 key가 누락될 때마다 def_value가 연결된 def_value를 사용하여 새 키가 생성된다는 점입니다. 키가 인수에 전달되었습니다.

위의 기능을 구현하려면 Defaultdict " — 다음에 정의된 컨테이너입니다. 이름이 "collection "인 모듈입니다. 함수(기본 공장)를 인수로 취합니다. 기본값은 공장 기본값이 "int"로 설정되며, is, 0 . 키가 누락된 경우 — defaultdict, 반환 default 기본값 으로 표시됩니다. get() 또는 setdefault()보다 우선 적용됩니다.

# defaultdict를 보여주는 Python 코드


# import & quot; 컬렉션 & quot; defaultdict용

가져오기 컬렉션


# 기본 선언
# 누락된 키에 대한 기본값 "Key not found" 설정

defd = 컬렉션. defaultdict( 람다 : `키를 찾을 수 없음` )


# 초기화 값 ​​

defd [ <코드 클래스 = "문자열"> `a` <코드 클래스 ="일반 ">] <코드 클래스 = "키워드"> = 1


# 초기화 값 ​​

defd [ <코드 클래스 = "문자열"> `b` <코드 클래스 ="일반 ">] <코드 클래스 ="키워드 "> = 2


# 값 출력

print ( "`a`와 관련된 값은 다음과 같습니다. " , 끝 <코드 클래스 = "키워드"> = <코드 클래스 = "일반"> "")

<코드 클래스 = "에프 unctions"> 인쇄 (defd [ `a` ])


# ' ㄷ '

print ( "연결된 값 ` c`는 다음과 같습니다. " , end = " ")

인쇄 ( defd [ `c` <코드 클래스 ="일반 ">])

출력:

`a`와 연관된 값은 다음과 같습니다. 1 ` c`와 연관된 값은 다음과 같습니다. 키를 찾을 수 없음 

이 기사 제공: 맨지트 싱 . Python.Engineering으로서 기여하고 싶다면 Contribute.python.engineering 을 사용하거나 기사를 게시하여 기사를 작성할 수도 있습니다. 기여 @ python.engineering. Python.Engineering 홈페이지에 있는 내 기사를 참조하고 다른 괴짜들을 도와주세요.

잘못된 점을 발견하거나 위에서 논의한 주제에 대해 더 많은 정보를 공유하고 싶다면 댓글을 달아주세요.