Python 사전에 키가 있는지 확인하는 방법
Python 사전에 키가 있는지 확인하는 방법을 알아보세요. in 연산자, get() 메소드, setdefault 및 KeyError 예외 처리를 비교하십시오.
개요
사용자 매개변수 구문 분석, 구성 재정의, API 레코드 또는 JSON 페이로드 등 동적으로 채워진 사전과 상호작용할 때 존재하지 않는 키를 사용하여 값을 검색하려고 하면 'KeyError'가 발생하고 애플리케이션이 중단됩니다. 따라서 방어 점검을 구현하는 것이 필수적입니다.
키가 존재하는지 확인하는 가장 직접적이고 파이썬적이며 가장 빠른 방법은 `in` 멤버십 연산자인 `if key in my_dict:`를 사용하는 것입니다. 이 표현식은 키가 발견되면 'True'를 반환하고, 그렇지 않으면 'False'를 반환합니다. 내부적으로 Python 사전은 해시 테이블을 사용하여 구현되어 멤버십 검사를 고도로 최적화하고 O(1) 평균 시간 복잡성으로 실행합니다.
또는 키 값을 검색하고 싶지만 키가 누락된 경우 기본값으로 대체하려는 경우 `.get(key, default)` 메서드를 사용할 수 있습니다. 키가 존재하면 값을 반환합니다. 그렇지 않은 경우 `KeyError`를 발생시키거나 조건문을 요구하지 않고 기본값(생략된 경우 `None`)을 반환합니다.
코드 및 실행 출력
이 스크립트는 in 연산자, get() 대체 메소드를 사용하여 키 존재를 확인하고 KeyError 예외를 처리하는 방법을 보여줍니다.
user = {"id": 101, "name": "Alice", "role": "admin"}
# 1. Checking key existence using the 'in' operator (Recommended)
if "role" in user:
print("Found 'role' key. Value is:", user["role"])
if "email" not in user:
print("'email' key is missing.")
# 2. Retrieving value safely using get() with a fallback
email_address = user.get("email", "no-email@example.com")
print("Email address:", email_address)
# 3. Handling KeyError exception manually
try:
invalid_lookup = user["location"]
except KeyError:
print("Caught KeyError: 'location' key does not exist.")Found 'role' key. Value is: admin
'email' key is missing.
Email address: no-email@example.com
Caught KeyError: 'location' key does not exist.단계별 구현
- 표준 키 존재 여부를 확인하려면 in 연산자(예: 사전에 키가 있는 경우)를 사용하세요.
- 사전 구조에서 키가 누락되었는지 확인하려면 not in 연산자를 사용하세요.
- 기본 대체를 제공하면서 값을 안전하게 검색하려면 Dictionary.get(key, default_value)을 호출하세요.
- 타사 통합에서 누락된 키를 처리할 때 Try-Exception KeyError 블록으로 직접 조회를 래핑합니다.
자주 묻는 질문
사전에 키가 있는지 확인하는 데 걸리는 시간 복잡도는 얼마입니까?
사전은 후드 아래에서 해시 테이블을 사용하여 크기에 관계없이 조회 시간을 일정하게 만들기 때문에 평균 시간 복잡도는 O(1)입니다.
사전에 값이 존재하는지 확인할 수 있나요?
예, 하지만 my_dict.values():의 값인 경우 값 보기:를 검색해야 합니다. Python은 사전의 모든 요소를 순회해야 하기 때문에 값 확인에는 O(N) 선형 시간이 소요됩니다.
관련 주제
Python에서 사전을 만드는 방법을 알아보세요. 리터럴 구문, dict 생성자, dict comprehension 및 키-값 초기화 프로그램을 이해합니다.
Python에서 사전을 반복하는 방법(키, 값 및 항목)Python 사전을 반복하거나 반복하는 방법을 알아보세요. 깔끔하고 실행 가능한 예제를 통해 키, 값, 키-값 쌍을 반복하는 방법을 알아보세요.
Python 사전에 키를 추가하고 업데이트하는 방법Python 사전에서 요소를 추가하거나 키-값 쌍을 업데이트하는 방법을 알아보세요. 대괄호, 업데이트 방법, 병합 연산자 옵션을 살펴보세요.
권장 Python 리소스
관련 대화형 튜토리얼, 치트 시트, 코드 비교를 통해 지식을 확장하세요.
Python 사전
마스터 Python 사전. 키-값 쌍 데이터를 저장하고, 가져오고, 처리하는 방법을 알아보세요. 매핑의 성능과 모범 사례를 이해합니다.
Python 문자열 메서드 치트 시트
Python 문자열 조작에 대한 완전한 참조 가이드입니다. 문자열 속성의 서식 지정, 검색, 분할, 바꾸기 및 확인을 마스터합니다.
Python 대 JavaScript: 어떤 프로그래밍 언어가 가장 좋나요?
Python과 JavaScript를 포괄적으로 비교합니다. 구문 차이점, 성능, 사용 사례(백엔드와 프런트엔드) 및 코딩 예제를 살펴보세요.