본문 바로가기

Python

[Python] 딕셔너리에 키가 있는지 체크하기

반응형

 

셔너리에 존재하지 않는 키에 접근하는 경우 파이썬은 KeyError를 발생시킵니다. 그러므로 딕셔너리에 접근할 때에는 키값을 체크해주고 접근하는 것이 안전한데요. 파이썬에서 키를 체크하는 방법은 in 키워드를 사용하는 방법get 함수를 사용하는 방법이 있습니다. (Python 2에서는 키 존재를 체크하기 위해 has_key 함수를 지원했지만 3에서는 지원하지 않습니다.) 

 

in 키워드

찾고자하는 키 in 딕셔너리

in 키워드를 사용하면 딕셔너리 안에서 찾고자하는 키가 있는지 없는지를 True 또는 False로 알려줍니다. 아래 예제 코드는 name이라는 키가 있는 경우에만 해당 값을 출력하는 코드입니다.

car = {"name" : "BMW", "price" : "7000"}

if "name" in car:    
	print("Key exist! The value is " + car["name"])
else:    
	print("Key not exist!")
>>> Key exist! The value is BMW

 

get 함수

get함수는 인자로 찾고자 하는 키를 넣어주면 키값에 해당하는 값을 리턴해주는 함수입니다. 만약 해당 키가 없는 경우 None을 리턴하게 됩니다.

딕셔너리.get(찾고자하는 키)

아래 코드는 딕셔너리에 없는 키를 get 함수를 통해 찾는 코드입니다. 이때 해당 키 값이 없으므로 None을 리턴하고 if문에서 해당 value가 None인 부분을 실행하여 키가 존재하지 않는다는 메시지를 출력합니다.

car = {"name" : "BMW", "price" : "7000"}

value = car.get("company")

if value == None:
	print("Key not exist!")
else:
	print("Key exist! The value is " + car["name"])
>>>Key not exist!
반응형