2017-03-05 14 views
-2

私はPythonの辞書のリストにこの値のセットを持っています。Pythonで辞書のリスト(浮動小数点値フィールドを使用)をソートする方法はありますか?

[ 
{'dep_price': '42.350', 'dep_date': '8-Mar-2017', 'trip_type': 'dep'}, 
{'dep_price': '42.350', 'dep_date': '9-Mar-2017', 'trip_type': 'dep'}, 
{'dep_price': '36.350', 'dep_date': '10-Mar-2017', 'trip_type': 'dep'} 
] 

「dep_price」フィールドを浮動小数点値としてソートするにはどうすればよいですか?

+4

可能な複製Pythonの辞書の値によって?](http://stackoverflow.com/questions/72899/how-do-i-sort-a-li辞書の-st-of-the-pythonの辞書で) – ZdaR

+1

あなたのためにいくつかのコードを書くように思えます。多くのユーザーは、苦労しているコーダーのコードを作成したいと考えていますが、通常、ポスターが既に問題を解決しようとしているときにのみ役立ちます。この努力を実証する良い方法は、これまでに書いたコード、サンプル入力(もしあれば)、期待される出力、実際に得られる出力(出力、トレースバックなど)を含めることです。あなたが提供する詳細があれば、受け取る可能性のある回答が増えます。 [FAQ](http://stackoverflow.com/tour)と[How to Ask](http://stackoverflow.com/questions/how-to-ask)を確認してください。 – TigerhawkT3

+0

@ TigerhawkT3あなたが間違っていると申し訳ありません...私が試したコードはここにあります...... sort(list、key = itemgetter(field_name)、reverse = True)... field_nameは "dep_price " – Razz

答えて

3

あなたがキー機能をsorted()を使用することができます。

コード:

a_list = [ 
    {'dep_price': '42.350', 'dep_date': '8-Mar-2017', 'trip_type': 'dep'}, 
    {'dep_price': '42.350', 'dep_date': '9-Mar-2017', 'trip_type': 'dep'}, 
    {'dep_price': '36.350', 'dep_date': '10-Mar-2017', 'trip_type': 'dep'} 
] 

a_new_list = sorted(a_list, key=lambda price: float(price['dep_price'])) 
print('\n'.join(['%s' % x for x in a_new_list])) 

結果:

{'trip_type': 'dep', 'dep_price': '36.350', 'dep_date': '10-Mar-2017'} 
{'trip_type': 'dep', 'dep_price': '42.350', 'dep_date': '8-Mar-2017'} 
{'trip_type': 'dep', 'dep_price': '42.350', 'dep_date': '9-Mar-2017'} 
私は辞書のリストを並べ替えるにはどうすればよい[の
+1

例えば、 '' 100.205 ''の '' dep_price''で何かを加えてみてください。 – TigerhawkT3

+1

@Stephen Rauch ...ありがとう....あなたのソリューションの中の "ラムダ"の周りに頭を抱えて、あなたがリストを反復したやり方をするのには、時間がかかりました。今すぐソートされました。助けてくれてありがとう – Razz

関連する問題