В словаре есть без порядка : если вы добавляете / удаляете / обновляете элементы в словаре, порядок, в котором итерируются ключи, может измениться.
Таким образом, вы не можете "сортировать"" словарь.Однако то, что вы можете сделать, это, например, отсортировать список из двух кортежей , например:
my_list = list(my_dict.items())
Затем мы получим:
>>> my_list
[('m', 1), ('i', 4), ('s', 4), ('P', 2)]
и затем мы можем отсортировать список (например, с сортировкой пузырьков) следующим образом:
for mx in range(len(my_list)-1, -1, -1):
swapped = False
for i in range(mx):
if my_list[i][1] < my_list[i+1][1]:
my_list[i], my_list[i+1] = my_list[i+1], my_list[i]
swapped = True
if not swapped:
break
Затем мы получим:
>>> my_list
[('i', 4), ('s', 4), ('P', 2), ('m', 1)]