2016-04-19 169 views

回答

1

使用Python的內置sorted功能與lambda,並把結果轉換爲整數。

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

+0

這是行不通的。將值轉換爲'int'會將0.5和-0.5截斷爲0,如果它們的權重之差小於1,那麼排序會將x和y看作相等。您可以考慮使用內置的'cmp'函數來使用浮點數的默認比較,但最合適的解決方案使用'sorted'的關鍵字參數'key'。 [(請參閱文檔)](https://docs.python.org/2.7/library/functions.html#sorted) –

相關問題