logo

Python 사전에 키가 있는지 확인하는 방법

Python에서 사전은 지도처럼 값을 관리하고 저장하는 데 사용할 수 있는 순서가 지정되지 않은 데이터 값 집합입니다. 특정 값만 항목으로 전달할 수 있는 다른 데이터 유형과 달리 사전은 키-값 쌍을 보유할 수 있습니다. 사전에는 보다 효율적인 키-값 쌍이 포함되어 있습니다. 사전 키에서는 다형성이 허용되지 않습니다. 사전은 일련의 항목을 중괄호로 묶고 쉼표로 구분하여 Python으로 작성됩니다. 사전은 한 쌍의 값을 저장합니다. 그 중 하나는 키이고 다른 하나는 키:값 쌍 요소입니다.

사전에서 값은 어떤 데이터 구조라도 될 수 있고 심지어 복제될 수도 있지만, 변경할 수 없는 키는 복사할 수 없습니다.

사전에서 키 확인하기

Python에서 사전은 실제로 키-값 쌍을 저장하는 유용한 데이터 구조입니다. 프로그래밍에서는 사전에서 특정 키 값을 얻는 것이 자주 필요합니다. 그러나 사전에 특정 키가 존재한다고 항상 보장되는 것은 아닙니다. 따라서 값을 검색하기 전에 키가 사전에 속하는지 다시 확인하는 것이 좋습니다.

has_key() 사용

주어진 키가 사전에서 발견되면, has_key() 메소드는 true를 반환합니다. 그렇지 않으면 false를 반환합니다.

Python 3에서는 이 기능이 더 이상 사용되지 않습니다. 이 방법은 Python 3보다 이전 버전에서 실행 중인 경우 사용할 수 있습니다.

아래 명령을 사용하여 cmd에서 Python 버전을 확인할 수 있습니다.

암호:

 import sys print(sys.version) Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key_to_check_for = '2' if Animals.has_key(key_to_check_for): print('Key exists in Animals') else: print(f'There is no key {key_to_check_for} in Animals') 

산출:

 --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) Input In [37], in () 1 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} 2 key_to_check_for = '2' ----> 3 if Animals.has_key(key_to_check_for): 4 print('Key exists in Animals') 5 else: AttributeError: 'dict' object has no attribute 'has_key' 

이 코드는 Python 3에서 실행되었기 때문에 오류가 표시됩니다.

자바 문자열 클래스

if-in 문

이 방법은 if-in 문을 사용하여 사전 내에 특정 키가 존재하는지 확인합니다. 회원제 운영업체를 채용하고 있습니다 ~에 , 이런 방법으로. 이 연산자는 한 값이 다른 값에 속하는지 확인하는 데 사용됩니다. 부울 결과를 제공합니다.

암호:

 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} Key = '2' if '2' in Animals: print('Key exists in Animals') else: print(f'There is no key {key} in Animals') 

산출:

 Key exists in Animals 

이제 부정적인 경우를 살펴보겠습니다.

암호:

 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} if '4' in Animals: print('Key exists in Animals') else: print(f'There is no key {key} in Animals') 

산출:

 There is no key '4' in Animals 

마찬가지로, 안에는 없어 연산자를 사용하여 사전에 키가 존재하지 않는지 확인할 수 있습니다. 그러나 ~에 작업은 대소문자를 구분하므로 모든 키의 대소문자가 동일한지 확인하거나 더 높은() 또는 낮추다() 행동 양식.

암호:

 Animals = {'one': 'Cat', 'two':'Rat', 'three':'Bat'} setting_case = set(key.upper() for key in Animals) key_to_check_for = 'two' if key_to_check_for.upper() in setting_case: print('Key exists in Animals') else: print(f'There is no key {key_to_check_for} in Animals') 

산출:

각도 cli 제거
 Key exists in Animals 

get() 메서드 사용

get() 메소드는 사전의 관련 키 값을 전달합니다. 키가 없으면 None 또는 기본값(제공된 경우)을 반환합니다. 이 메소드에 키를 전달하고 해당 키가 주어진 Python 사전에 존재하는지 확인할 수 있습니다.

get() 함수의 구문은 다음과 같습니다.

 dict_name.get(keyname, value) 

여기서 dict name은 사용할 사전의 제목입니다.

매개변수

    키 이름-반환하려는 값의 키 이름입니다.값-키가 존재하지 않는 경우 이 값은 옵션으로 제공됩니다.

암호:

 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key_to_check_for = '2' if Animals.get(key_to_check_for) is not None: print('Key exists in Animals') else: print(f'There is no key {key_to_check_for} in Animals') 

산출:

 Key exists in Animals 

이제 부정적인 사례를 들어보자.

암호:

 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key_to_check_for = '5' if Animals.get(key_to_check_for) is not None: print('Key exists in Animals') else: print(f'There is no key {key_to_check_for} in Animals') 

산출:

 There is no key '5' in Animals 

이 방법을 사용할 때 해당 값이 None인 키가 있으면 정확하지 않다는 점을 명심하세요. 없으면 이 기술로 충분합니다. 이 메서드에서 반환된 값을 사용하려면 해당 값을 변수에 저장할 수 있습니다.

np.log

키() 사용

그만큼 키() 함수와 'in' 연산자를 사용하여 사전에 키가 있는지 확인할 수 있습니다. 그만큼 키() 메소드는 사전의 키 목록을 반환하고 'if, in' 문은 제공된 키가 목록에 있는지 확인합니다. 키가 존재하면 True를 반환합니다. 그렇지 않으면 False를 반환합니다.

입력

 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key='2' if key in Animals.keys(): print('Key exists in Animals') else: print(f'There is no key {key} in Animals') 

산출:

 Key exists in Animals 

사전에 다중 키가 있는지 확인하십시오.

하나의 명령문에서 사전에 여러 키가 포함되어 있는지 확인할 수도 있습니다. 우리는 모두() 목록 이해와 결합하여 사전에 키가 많거나 모두 포함되어 있는지 확인하는 기능입니다.

암호:

 Animals = {'1': 'Cat', '2':'Rat', '3':'Bat'} key='2' if all(key in Animals for key in ('1','5')): print('All keys exists in Animals') else: print('Not all the keys are there in Animals') 

산출:

 Not all the keys are there in Animals 

키가 존재하는지 확인하려면 사전 목록을 검사하세요.

사전 목록은 목록에서 찾을 수 있는 사전의 모음입니다.

  • list_of_dictionary - 세 개의 사전 개체가 포함된 목록입니다.
  • 사전 목록의 키에 대한 키의 'b' - 목록 이해를 사용하여 사전 목록 내의 키 목록을 생성합니다. 그런 다음 목록에서 사용 가능한 항목이 있는지 확인하세요. 'b'인 키에 대해서는 True, 그렇지 않은 키에 대해서는 False 목록을 반환합니다.
  • any() - List Comprehension에서 제공하는 True/False 목록을 확인합니다. 'b' 키는 하나 이상의 True를 포함하는 경우 사전 목록에 존재합니다. 그런 다음 'if' 블록은 True를 반환한 후에 실행됩니다. 그렇지 않으면 'else' 블록이 실행됩니다.

암호:

 list_of_dictionaries = [{'a': 'A'}, {'b': 'B'}, {'c': 'C'}] if any('b' in keys for keys in list_of_dictionary): print('key exists in list_of_dictionaries') else: print('key does not exists in list_of_dictionaries') 

산출:

쿼리 선택기
 Key exists in list_of_dictionaries 

키가 JSON 사전에 있는지 확인

JSON은 'Javascript Object Notation'의 약자로, 값을 저장하는 키-값 쌍입니다.

그만큼 json.로드() 메소드를 사용하여 JSON 텍스트에서 사전을 구성할 수 있습니다.

그런 다음 아래와 같이 'if 및 in'을 사용하여 키가 JSON 사전에 있는지 확인할 수 있습니다.

입력

 import json json_str = '''{'a': 'A', 'b': 'B', 'c': 'C'}''' json_dictionary = json.loads(json_str) if 'c' in json_dictionary: print('Key is present in the JSON dictionary') else: print('Key is not present in JSON dictionary') 

산출:

 Key is present in the JASON dictionary 

결론

요약하자면, 우리는 여러 가지 방법을 사용하여 키가 사전에 있는지 확인하는 방법을 배웠습니다. 또한 키가 사전에 있는지 확인하기 위해 이러한 메서드를 다양한 인스턴스에 적용하는 방법도 배웠습니다. 또한 각 옵션에 소요되는 시간이 어떻게 다른지도 살펴보았습니다.