Python에서 dict.get() 메서드는 딕셔너리에서 키를 찾고, 키가 존재하면 해당 값을 반환하며, 존재하지 않으면 기본값(default)을 반환하는 방법.
-> dictionary 문제 풀때 정말 유용함.
value = dictionary.get(key, default_value)
key: 찾고자 하는 키
default_value (옵션): 키가 존재하지 않을 경우 반환할 기본값 (기본값은 None)
예제 1: 키가 존재하는 경우
data = {"apple": 3, "banana": 5, "orange": 2}
print(data.get("banana")) # 출력: 5
예제 2: 키가 존재하지 않는 경우 (기본값 없이)
print(data.get("grape")) # 출력: None
예제 3: 키가 존재하지 않는 경우 (기본값 설정)
print(data.get("grape", 0)) # 출력: 0
예제 4: get()을 활용한 카운팅 (빈도수 계산)
nums = [1, 2, 2, 3, 3, 3, 4]
count_dict = {}
for num in nums:
count_dict[num] = count_dict.get(num, 0) + 1 # 기본값 0을 사용하여 카운트 증가
print(count_dict) # 출력: {1: 1, 2: 2, 3: 3, 4: 1}
예제 5: get()을 활용한 중첩 딕셔너리 처리
users = {
"Alice": {"age": 25, "city": "New York"},
"Bob": {"age": 30, "city": "San Francisco"}
}
# 존재하지 않는 키를 조회할 때 기본값 설정
print(users.get("Charlie", {}).get("age", "Unknown")) # 출력: Unknown
class Solution:
def getSneakyNumbers(self, nums:List[int]) -> List[int]:
dic = {}
for num in nums:
dic[num] = dic.get(num,0) + 1
answer = [key for key,value in dic.items() if value >1]
return answer