2

int、float、またはその両方の不明な値のリストを昇順で並べ替えようとしています。つまり、[2,-1,1.0] は [-1,1.0,2] になります。残念ながら、sorted() 関数は、絶対値で降順にソートされているように見えるため、機能していないようです。何か案は?

4

2 に答える 2

2

私も同じ問題を抱えていました。答え: Python は数値を文字列として持っている場合、数値を絶対値でソートします。そのため、キーとして int() または float() 引数を必ず含めてください。私の作業構文は

データ = 並べ替え (データ、キー = ラムダ x: float(x[0]))

... lambda x 部分は、並べ替えたいものを出力する関数を提供するだけです。したがって、リストの行を取得し、float 0 番目の要素を見つけて、それで並べ替えます。

于 2015-04-13T08:22:41.607 に答える