파이썬에서 키가 사전에 있는지 확인하는 방법

주어진 키가 [Python Dictionary]에 존재하는지 확인하는 방법에 대한 질문 자세한 내용은 tutorial here에서 확인할 수 있습니다.

in 키워드는 사전 멤버십 확인을 수행하는 데 사용됩니다. 아래 코드 예를 참조하십시오

dic = {"A":1, "B":2}

def dicMemberCheck(key, dicObj):
    if key in dicObj:
        print("Existing key")
    else:
        print("Not existing")
        
dicMemberCheck("A")
dicMemberCheck("C")
Existing key
Not existing
정보

주어진 키가 사전에 있는지 확인하는 다른 솔루션을 가질 수 있습니다.

if key in dicObj.keys()

방금 보여 드린 솔루션으로 동일한 결과를 얻을 수 있습니다. 그러나이 dicObj.keys()메소드는 사전 키를 목록으로 변환하는 데 시간이 더 걸리기 때문에 약 4 배 느립니다.

아래의 실행 시간 성능 비교 테스트를 참조 할 수 있습니다.

>>> import timeit
>>> timeit.timeit('"A" in dic', setup='dic = {"A":1, "B":2}',number=1000000)
0.053480884567733256
>>> timeit.timeit('"A" in dic.keys()', setup='dic = {"A":1, "B":2}',number=1000000)
0.21542178873681905

관련 문장 - Python dictionary

  • 파이썬 2와 3에서 두 개의 사전을 병합하는 방법