python - How do I return the earliest letter in the alphabet from a choice of letters? -
i doing exercise requires me return frequent letter in string of letters. in event there 2 letters appear same frequency, 'tiebreaker' whichever appears first in alphabet. example:
'aaaabbbb' #should return a. my code return letter below. recognize may not efficient. i'll worry later.
def mostwantedletter(text): text = text.lower() mwl = {} letter in text: if letter not in mwl: mwl[letter] = 1 else: mwl[letter] += 1 letter in sorted(mwl, key = mwl.get, reverse = true): if letter.isalpha(): #letter = sorted(list(letter)) return letter #[0] thank stack overflow community in getting me far!
def mostwantedletter(text): # count how many times each letter occurs mwl = {} ch in text.lower(): if ch.isalpha(): mwl[ch] = mwl.get(ch, 0) + 1 # ordered descending count (highest first) ascending letter least = min(mwl.items(), key=lambda x:(-x[1], x[0])) # return letter least item return least[0]
Comments
Post a Comment