私はPythonのチュートリアルのイントロを行っていますが、コードを理解しています。これはチュートリアルのセクション4.7.5からのものです。Python初心者 - ラムダ関数を使ってタプルを並べ替える
pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]
pairs.sort(key=lambda pair: pair[1])
pairs
コードのこのビットが1行目でそう
[(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]
を返し、それが異なるタプルのリストとペアを定義します。私はそれを得る。 2行目は私が完全に捨てられているところで、何が起きているのかを理解しようとするとかなり邪魔になりました。
私はsort()が変数ペアに組み込み関数を適用していることがわかりました。おそらく、私が与えている指示に従ってそれをソートしています。
sort()関数はキーを必要とし、keyは関数を使用して定義する必要があります。したがって、lambdaを使用します。私はこれがすべて正しいと思うが、私はここにいるかもしれない。
ラムダは、コロンの左側に新しいパラメータ "pair"を定義し、右側にラムダ関数の戻り値を定義する計算を定義します。
それは私が捨て去るところです。 「ペア[1]」は何をしますか?コロンの左側の "ペア"に及ぼす影響は何ですか?
どのような価値が返されますか?私はこれをコーディングする以外にも何らかの価値を返すようには思えません。
私はそれが何とか特定のタプルを指し示し、それを再配置することに基づいて並べ替えることを推測していますが、その背後にあるロジックについてはわかりません。
誰でも私のためにこれを説明できますか?ありがとうございました。
'lambda 'では、ソートする必要がある値を参照します。 –
'key = lambda pair:pair [1]'を 'key(pairs [0])'と呼び、これを 'key(pairs [1])'と比較してみたら助けになるでしょうか?最終結果が各タプルの2番目の要素でアルファベット順にソートされているとすればどうでしょうか? –