それでは､ ラムダ式を使って､ 理解を深めるための楽しい練習をしてみましょう｡
次に､ リストを平方するラムダ式を作成します｡
では､ 私のリストがあるとすると､ これは私のリストです｡
5人､ 4人､ 3人でやるんだ｡
では､ 1行のラムダ式を作成して､ それをプリントしてほしい｡
四角いリスト｡
だから､ 2のパーの5は25になる｡
4の2乗は16､ 3の2乗は9になります｡
そこで､ ラムダ式を使ってそれらの値を含むリストを作成します｡
だから､ 最初のチャレンジはスクエアにすることなんです｡
次の挑戦です｡
そして､ これはちょっと大変です｡
リストの並べ替えをするんです｡
ここで正方形にしてみると､ わかると思います｡
そして､ このリストの中で､ ソートすること｡
リストがあるんです｡
そしてこのリスト｡
いやあ､ 難しいですね｡
ゼロからタプルであるリストを持っています｡
それからタプル､ 例えば3人分｡
そしてタプル､ 例えば9､ 9､ そして最後に10のマイナス1というタプルがあります｡
さて､ 皆さんにやっていただきたいのは､ 「仕分け」です｡
2をベースにしたものです｡
値です｡
これがカンマであることを確認する｡
つまり､ マイナス1が最も低いのでこのタプルを最初に､ 次に2が最も高いのでこのタプルになるように並べ替えたいのです｡
では､ このタプルは｡
では､ ラムダ式を使うとどうすればいいのでしょうか｡
さて､ これは大変なことです｡
だから､ 分からなくても心配はない｡
ビデオの一時停止はこちら
ゆっくりでいいんです｡
これを解決できるかどうか見てください｡
そうでなければ､ さっさと答え合わせをする｡
これは､ あなたにとってかなり簡単なことでしょう？
単純にマップ機能を使えばいいし､ あのね？
ここでは､ 新しいリストが､ これからマップオーバーするリストと同じになるとします｡
そして､ この中に､ 今まで見たことのないものはない｡
ラムダと言うことになりますね｡
数は2の累乗になる｡
そして､ それに与えるリスト｡
マイリストに入れます｡
これを実行すると
これでよしとする｡
いい感じ､ 簡単｡
いいですね｡
簡単です｡
ワンライナー
これはどうなんだろう？
これはちょっと大変で､ 本当に考えないといけないんです｡
ドットソート方式があることはわかりましたね｡
そして､ その種類も､ 実は｡
じゃあ､ こうやって並べ替えてみたらどうなるかな｡
ドットソートを印刷し､ 実行をクリックした場合｡
その場でリストを修正するため､ 何も得られない｡
だから､ ソートした後のaをプリントしてみよう｡
実行」をクリックすると
わかりました｡
それは
というか､ 最初の奴で仕分けされてるように見えるんだけど｡
これを動かしたらどうなるか？
そして､ この真ん中｡
そして､ 「実行」をクリックします｡
わかりました｡
ソートされているように見えますが､ この最初の項目に基づいてソートされているのです｡
しかし､ この2つ目の項目､ つまり2つ目のキーと呼ばれるものを選別材料にしたいのです｡
そして､ ここを見ると､ もしソートをするのであれば､ キーを与えなければならない｡
そして､ その鍵を握るのは､ 私たちです｡
へ｡
では､ どうすればいいのか｡
まあ､ こんな感じでいいんじゃないでしょうか｡
キーはイコールになると言えるでしょう｡
2つ目のキーのそれぞれで､ ここではラムダ式を使うことができる｡
ラムダと言えばいいんです｡
だから､ デフォルトのパラメータ｡
xのラムダとなり､ 単にxの1ということになる｡
うーん｡
これを確認しましょう｡
私が言いたいのは､ ちょっと､ ソート関数を実行してほしいということです｡
そして､ Sword関数のキーポイントは､ すべてのアイテムをソートするときに､ 各アイテムに対して反復処理を行うことです｡
私が取得するXは､ このタプルになる予定です｡
そして､ これから返す値､ つまり2番目の値を使用してほしい｡
だから､ キーは常に2番目のアイテムのそばにあることになるんだ｡
さて､ これを実行すると｡
あれを見てください｡
仕分けができるようになりました｡
2点目までに｡
さて､ もし彼がこれを理解していなかったとしても､ 心配はいらない｡
これが結構大変で､ 構文に慣れたり､ sortがこういう風に動いていたんだと知ったりするのが大変なんです｡
しかし､ 目的はラムダ関数でこんなことが普通にできるんだよ､ ということを示すことです｡
そして､ 異なるキーでソートできるようにする方法です｡
例えば､ 辞書や､ リストの中の別のリストで動作するようになります｡
これはよくある振り分けの調整方法で､ 覚えておくだけでいいパターンです｡
でも､ 1回だけ使う関数なら､ こんな複雑な関数を書かなくてもいいんだ､
というラムダの威力がわかると思います｡
そして､ 何か簡単なものを返すだけの関数｡
ラムダは使い勝手のいいツールですが､ もしこれがわからなかったら､ さっき言ったように､ 心配しないでください｡
これは覚えておくしかないでしょう｡
一旦休憩して､ 次回からまたよろしくお願いします｡
バイバイ｡