Python: Sortieren Sie eine Reihe von Wörterbüchern mit benutzerdefinierten Komparator?
Ich habe das folgende Python-Array von Wörterbüchern:
<code>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 } ] </code>
Ich möchte es nach den Rangwerten sortieren und wie folgt sortieren: 1-2-3-4-0-0-0.
Wenn ich es versuche:
<code>sorted_master_list = sorted(myarr, key=itemgetter('rank')) </code>
dann wird die Liste in der Reihenfolge 0-0-0-1-2-3-4 sortiert.
Wie kann ich eine benutzerdefinierte Komparatorfunktion definieren, um Nullen an das Ende der Liste zu verschieben? Ich frage mich, ob ich so etwas gebrauchen kannMethodenanrufer.