2016-04-19 6 views

Antwort

1

die Verwendung Python in sorted Funktion mit einem lambda gebaut und warf das Ergebnis als Integer.

sorted_list = sorted(unsorted_iterable, lambda x, y: int(x.weight - y.weight))

+0

Dies wird nicht funktionieren. Wenn Sie den Wert auf "int" setzen, werden sowohl "0.5" als auch "-0.5" auf "0" abgeschnitten, wodurch die Sortierung "x" und "y" als gleich behandelt, wenn der Unterschied in ihren Gewichtungen kleiner als "1" ist. Sie könnten in Betracht ziehen, die eingebaute 'cmp'-Funktion zu verwenden, um den Standardvergleich auf Gleitkommazahlen zu verwenden, aber die am besten geeignete Lösung verwendet' sort's Schlüsselwortargument 'key'. [(Siehe Dokumente.]] (Https://docs.python.org/2.7/library/functions.html#sorted) –

Verwandte Themen