본문 바로가기

코딩/파이썬

[python]딕셔너리에서 value값이 가장 큰 key 알아내는

문제 : 

문제: 문자열에서 가장 많이 등장하는 단어를 찾아 반환하는 함수를 작성하세요.

예시 입력: "apple banana cherry apple banana"

예시 출력: "apple"

 

def solution(s):
  words = list(s.split())
  word_count = {}

  for word in words:
    if word in word_count: #키가 딕셔너리에 존재한다면 
      word_count[word] +=1
    else:
      word_count[word] =1
  
  #딕셔너리의 키값으로 정렬
  
  result = max(word_count,key = word_count.get)
  return result

print(solution("apple banana cherry apple banana"))

 

파이썬 딕셔너리에서 가장 큰 값 구하는 방법

 

1. 최대 value 가 하나인 경우 -> dic.get()

 

result = max(word_count,key = word_count.get)

 

 

파이썬 dict.get(key,default=None) => 키값을 집어 넣어 value 값을 넣어준다. 

 

2. max() 함수와 dict.value()

 

def solution(s):
  words = list(s.split())
  word_count = {}

  for word in words:
    if word in word_count: #키가 딕셔너리에 존재한다면 
      word_count[word] +=1
    else:
      word_count[word] =1
  
  #딕셔너리의 키값으로 정렬
  
  #result = max(word_count,key = word_count.get)
  all_values= word_count.values()
  max_values= max(all_values)
  return word_count.get(max_values)

print(solution("apple banana cherry apple banana"))

 

value만 모아준 뒤에 그 중 큰값을 찾는다.  그 후 그 값을 기준으로 키 값을 찾아보지만, 값이 여러개가 존재해 키가 나오지 않는 결과 발생!