lambda
って何回見ても「ランバダ」としか読めません。ポンダッドです。
少し前に、「辞書型(連想配列)」の値でソートするのに悩んだのですが、Pythonの場合「無名関数」と言うものを使うと簡単に出来る様です。試しにこんな風に書いて見ました。
|
|
機械学習サービス indico.io を利用して写真を読み取り、感情認識させます。
|
|
一番数値の高い感情のキーと値を表示させて見ました。実際に返ってきたjson
はこの様なものです。
|
|
無名関数「ラムダ(lambda)」
無名関数を使うことで「リスト(配列)」や「辞書型(連想配列)」の要素全てに処理を行うことが可能になります。
…と教科書には書いてありますが、一番用利用出来そうなのは「辞書型(連想配列)」の値でソートの様な気がしたのでそれしか試してません。
教科書のサンプルを元にこんなサンプルを書いてみます。
|
|
実行します。12345$ python3 work8.py2001年宇宙の旅 98宇宙兄弟 68プロメテウス 15ミッション・トゥ・マーズ 8
前回試してみた様に、Pythonの「辞書型(連想配列)」は items()
メソッドを利用することでキーと値をセットで取り出すことが出来ます。
これを利用して sorted()
を使って値でソートすることが可能になります。
key
メソッドに無名関数(ランバダ lambda)を指定することで「辞書(連想配列)」要素のキー全てに適応出来る、と言う訳です。
まとめ
Pythonはまだ試したばかりで、相変わらず「カッコが少なくていいなあ」と言うつまらない感想しか持てませんが、少しづつ気になる処理を試してみようと思います。