MCPcopy
hub / github.com/TheAlgorithms/Python / get_frequency_order

Function get_frequency_order

strings/frequency_finder.py:51–79  ·  view source on GitHub ↗

Get the frequency order of the letters in the given string >>> get_frequency_order('Hello World') 'LOWDRHEZQXJKVBPYGFMUCSNIAT' >>> get_frequency_order('Hello@') 'LHOEZQXJKVBPYGFWMUCDRSNIAT' >>> get_frequency_order('h') 'HZQXJKVBPYGFWMUCLDRSNIOATE'

(message: str)

Source from the content-addressed store, hash-verified

49
50
51def get_frequency_order(message: str) -> str:
52 """
53 Get the frequency order of the letters in the given string
54 >>> get_frequency_order('Hello World')
55 'LOWDRHEZQXJKVBPYGFMUCSNIAT'
56 >>> get_frequency_order('Hello@')
57 'LHOEZQXJKVBPYGFWMUCDRSNIAT'
58 >>> get_frequency_order('h')
59 'HZQXJKVBPYGFWMUCLDRSNIOATE'
60 """
61 letter_to_freq = get_letter_count(message)
62 freq_to_letter: dict[int, list[str]] = {
63 freq: [] for letter, freq in letter_to_freq.items()
64 }
65 for letter in LETTERS:
66 freq_to_letter[letter_to_freq[letter]].append(letter)
67
68 freq_to_letter_str: dict[int, str] = {}
69
70 for freq in freq_to_letter: # noqa: PLC0206
71 freq_to_letter[freq].sort(key=ETAOIN.find, reverse=True)
72 freq_to_letter_str[freq] = "".join(freq_to_letter[freq])
73
74 freq_pairs = list(freq_to_letter_str.items())
75 freq_pairs.sort(key=get_item_at_index_zero, reverse=True)
76
77 freq_order: list[str] = [freq_pair[1] for freq_pair in freq_pairs]
78
79 return "".join(freq_order)
80
81
82def english_freq_match_score(message: str) -> int:

Callers 1

english_freq_match_scoreFunction · 0.85

Calls 3

get_letter_countFunction · 0.85
sortMethod · 0.80
appendMethod · 0.45

Tested by

no test coverage detected