Python: ordena una serie de diccionarios con comparador personalizado?
Tengo la siguiente serie de diccionarios de Python:
<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>
Me gustaría ordenarlo por los valores de rango, ordenando de la siguiente manera: 1-2-3-4-0-0-0.
Si lo intento
<code>sorted_master_list = sorted(myarr, key=itemgetter('rank')) </code>
entonces la lista se ordena en el orden 0-0-0-1-2-3-3.
¿Cómo puedo definir una función de comparación personalizada para empujar los ceros al final de la lista? Me pregunto si puedo usar algo comollamador de métodos.