2016-08-29 23 views
-1
fn = sorted(finalDataSet,key = lambda x : x[1],reverse=True) 

私はこのような結果を得た:ソート機能(リスト/タプル)逆の順序で

[('Hyperelastic', '8%'), ('Orthotropic', '26%'), ('Plastic', '23%'), 
('Composites', '17%'), ('Anisotropic', '13%'), ('Thermal', '13%')] 
+0

2つのものがあります。 [MCVE](http://stackoverflow.com/help/mcve)を追加して、次に何が問題なのですか? –

+0

数字ではなく*文字列*をソートしています。だから "8"は "2"の前に来る。 「2」の後に別の文字「6」があることは関係ありません。それはテキストのソート方法ではありません。 –

答えて

0

それが正常に機能しているように見えます。あなたは文字列でソートしており、アルファベット順に '8%'は'26% 'よりも大きいとみなされます。これはあなたの役に立つかもしれませんlambda

lambda x : float(x[1].strip('%')) 
+0

パーセンテージがすべて整数値であるとすれば、 'float'の代わりに' int'コンストラクタを使用すると意味があります。 – ShadowRanger

関連する問題