본문 바로가기
Python/Python FAQ

Python 주어진 키가 사전에 이미 존재하는지 확인하세요., Check if a given key already exists in a dictionary

by 베타코드 2023. 5. 7.
반응형

질문


딕셔너리에서 키의 값 업데이트 전에 키가 있는지 테스트하고 싶었습니다. 다음 코드를 작성했습니다:

if 'key1' in dict.keys():
  print "blah"
else:
  print "boo"

이것은 이 작업을 수행하기에는 최선의 방법이 아니라고 생각합니다. 딕셔너리에서 키를 테스트하는 더 나은 방법이 있습니까?


답변


indict에서 키의 존재 여부를 테스트합니다.

d = {"key1": 10, "key2": 23}

if "key1" in d:
    print("이것은 실행됩니다.")

if "존재하지 않는 키" in d:
    print("이것은 실행되지 않습니다.")

키가 존재하지 않을 때 기본 값을 제공하려면 dict.get()을 사용합니다:

d = {}

for i in range(100):
    key = i % 10
    d[key] = d.get(key, 0) + 1

모든 키에 대해 기본 값을 제공하려면 각 할당에 dict.setdefault()을 사용하거나:

d = {}

for i in range(100):
    d[i % 10] = d.setdefault(i % 10, 0) + 1    

...또는 collections 모듈의 defaultdict을 사용하세요:

from collections import defaultdict

d = defaultdict(int)

for i in range(100):
    d[i % 10] += 1
반응형

댓글