workers = {
'empl1': '13150',
'empl2': '11100',
'empl3': '19500',
'empl4': '3000',
'empl5': '18000',
'empl6': '8585',
'empl7': '1',
'empl8': '1',
'empl9': '7000',
'empl10': '7070',
'empl11': '2730',
'empl12': '11615',
'empl13': '10000',
'empl14': '7170',
'empl15': '99999999',
'empl16': '11000',
'empl17': '4300',
'empl18': '666',
'empl19': '54000'
}
sorted_by_value = sorted(workers.items(), key=lambda kv: kv[1], reverse=True)
print(dict(sorted_by_value))
Но на выходе получаю неправильную сортировку:{
'empl15': '99999999',
'empl6': '8585',
'empl14': '7170',
'empl10': '7070',
'empl9': '7000',
'empl18': '666',
'empl19': '54000',
'empl17': '4300',
'empl4': '3000',
'empl11': '2730',
'empl3': '19500',
'empl5': '18000',
'empl1': '13150',
'empl12': '11615',
'empl2': '11100',
'empl16': '11000',
'empl13': '10000',
'empl7': '1',
'empl8': '1'
}
sorted_by_value = sorted(workers.items(), key=lambda kv: int(kv[1]), reverse=True)
... print(sorted_by_value)
[('empl15', '99999999'), ('empl19', '54000'), ('empl3', '19500'), ('empl5', '18000'), ('empl1', '13150'), ('empl12', '11615'), ('empl2', '11100'), ('empl16', '11000'), ('empl13', '10000'), ('empl6', '8585'), ('empl14', '7170'), ('empl10', '7070'), ('empl9', '7000'), ('empl17', '4300'), ('empl4', '3000'), ('empl11', '2730'), ('empl18', '666'), ('empl8', '1'), ('empl7', '1')]
workers = {
'empl1': '13150',
'empl2': '11100',
'empl3': '19500',
'empl4': '3000',
'empl5': '18000',
'empl6': '8585',
'empl7': '1',
'empl8': '1',
'empl9': '7000',
'empl10': '7070',
'empl11': '2730',
'empl12': '11615',
'empl13': '10000',
'empl14': '7170',
'empl15': '99999999',
'empl16': '11000',
'empl17': '4300',
'empl18': '666',
'empl19': '54000'
}
sorted_dict = sorted(workers.items(), key=lambda worker: int(worker[1]))
print(sorted_dict)