ソートに使用されていますが、実際にはこのコード行の個々の要素は何を意味していますか?これはどういう意味ですか?key = lambda x:x [1]?
key=lambda x: x[1]
何lambda
、x[1]
などで[1]
...
例
max(gs_clf.grid_scores_, key=lambda x: x[1])
sort(mylist, key=lambda x: x[1])
ソートに使用されていますが、実際にはこのコード行の個々の要素は何を意味していますか?これはどういう意味ですか?key = lambda x:x [1]?
key=lambda x: x[1]
何lambda
、x[1]
などで[1]
...
例
max(gs_clf.grid_scores_, key=lambda x: x[1])
sort(mylist, key=lambda x: x[1])
lambda
が効果的にインライン関数を作成する理由x:
、何ですか。たとえば、あなたがこの例を書き換えることができます。
max(gs_clf.grid_scores_, key=lambda x: x[1])
という名前の関数の使用:
def element_1(x):
return x[1]
max(gs_clf.grid_scores_, key=element_1)
をこの場合、max()
は、その第二の要素(x[1]
)すべてより大きくなる配列の要素を返します。他の要素の第2要素のうちの1つ。関数呼出しが意味する別の方法は、x[1]
をキーとして使用してmax要素を返します。
lambda
は、anonymous functionを意味する。この場合、この関数は単一の引数x
をとり、x[1]
を返します(つまり、インデックス1の項目はx
になります)。
今度はsort(mylist, key=lambda x: x[1])
key
の値に基づいてmylist
がソートされます。リストの各要素に適用されます。同様に、max(gs_clf.grid_scores_, key=lambda x: x[1])
は、各要素に対してkey
によって返されるものに関して最大値gs_clf.grid_scores_
を返します。
また、この特定の機能が既にライブラリの1つに含まれていることを指摘しておきます。operator
。具体的にはoperator.itemgetter(1)
はkey
に相当します。
distances.sort(key=lambda x: x[1])
これは機能です。 ここで、xはリストであり、ここではx[1]
、つまりリストの2番目の要素がソート関数に追加されます。したがって、基本的には、すべてのリストの2番目の要素(x [1]など)をソート関数に追加します。 これを理解していただければ幸いです。
Ehi!それは1時間前に尋ねられた別の質問に対する私の答えです! :D – fog