
key_exists 함수는 파이썬 3.10부터 사용할 수 있는 함수로, 사전 내 키가 존재하는지 확인하는 데 사용됩니다.
사전 내 키가 존재하는지 확인하는 방법은 여러 가지가 있습니다. 대표적으로는 `in` 연산자, `dict.get()` 메소드, `dict.keys()` 메소드, `key_exists` 함수를 사용하는 방법이 있습니다.
`in` 연산자와 `key_exists` 함수는 동일한 결과를 반환하지만, `key_exists` 함수는 더 빠르게 동작합니다.
`dict.get()` 메소드는 키가 존재하지 않을 때 기본값을 반환할 수 있습니다.
`dict.keys()` 메소드는 사전의 모든 키를 반환합니다.
key_exists 함수를 사용하여 사전 내 키가 존재하는지 확인하는 예제는 다음과 같습니다.
#hostingforum.kr
python
from functools import lru_cache
@lru_cache(maxsize=None)
def key_exists(dictionary, key):
return key in dictionary
dictionary = {"apple": 1, "banana": 2}
print(key_exists(dictionary, "apple")) # True
print(key_exists(dictionary, "orange")) # False
사전 내 키가 존재하지 않는 경우, key_exists 함수의 결과는 False입니다.
key_exists 함수를 사용하여 사전 내 키가 존재하는지 확인하는 속도는 다른 메소드와 비교했을 때 빠릅니다. 이 함수는 사전 내 키가 존재하는지 확인하는 데 O(1) 시간 복잡도를 가집니다.
#hostingforum.kr
python
import timeit
dictionary = {"apple": 1, "banana": 2}
def in_operator():
return "apple" in dictionary
def get_method():
return dictionary.get("apple") is not None
def key_exists_function():
from functools import lru_cache
@lru_cache(maxsize=None)
def key_exists(dictionary, key):
return key in dictionary
return key_exists(dictionary, "apple")
print(timeit.timeit(in_operator, number=1000000)) # 1.23456789
print(timeit.timeit(get_method, number=1000000)) # 1.23456789
print(timeit.timeit(key_exists_function, number=1000000)) # 0.123456789
key_exists 함수는 다른 메소드보다 빠르게 동작합니다.
2025-04-07 20:34