Вот мое решение, предполагающее, что вы хотите сделать это для всех букв (не только 'e'):
Очевидно, что d
и frequencies
могут быть расширены по мере необходимости.
d = {'a':54, 'b': 73, 'd': 98}
# letters in decreasing order of frequency
frequencies = ['E','T','A','O','I','N','S','R','H','D','L','U','C','M','F','Y','W','G','P','B','V','K','X','Q','J','Z']
# get a list of values (the numbers) from the dictionary
values = list(d.values())
# sort the numbers in decreasing order
values.sort(reverse = True)
# build a new dictionary with the sorted letters as keys and sorted values as values.
d = {frequencies[i] : values[i] for i in range(min(len(values), len(frequencies)))}
print(d)
Полученное значение d будет
{'E': 98, 'T': 73, 'A': 54}