У меня есть следующий набор словарей Python:
myarr = [ { 'name': 'Richard', 'rank': 1 },
{ 'name': 'Reuben', 'rank': 4 },
{ 'name': 'Reece', 'rank': 0 },
{ 'name': 'Rohan', 'rank': 3 },
{ 'name': 'Ralph', 'rank': 2 },
{ 'name': 'Raphael', 'rank': 0 },
{ 'name': 'Robin', 'rank': 0 } ]
Я хотел бы отсортировать его по значениям ранга, упорядочиваясь следующим образом: 1-2-3-4-0-0-0.
Если я попробую:
sorted_master_list = sorted(myarr, key=itemgetter('rank'))
то список сортируется в порядке 0-0-0-1-2-3-4.
Как я могу определить пользовательскую функцию компаратора для толкания нулей в нижней части списка? Мне интересно, могу ли я использовать что-то вроде methodcaller.