Python 2.7では、以下のラムダ式の論理は何ですか、この部分で混乱しているのはint(s)
です。これはsと呼ばれる変数のようです。Python 2.7ラムダ式の問題
x = [tuple(map(lambda s: int(s), x.split(':'))) for x in y.split(' ')]
事前のおかげで、
リンPython 2.7では、以下のラムダ式の論理は何ですか、この部分で混乱しているのはint(s)
です。これはsと呼ばれる変数のようです。Python 2.7ラムダ式の問題
x = [tuple(map(lambda s: int(s), x.split(':'))) for x in y.split(' ')]
事前のおかげで、
リンlambda
関数map
と共に使用したので、lambda
のパラメータをmap
の第2引数から渡されます。
にすべてのアイテム
iterable
のを関数を適用し、 結果のリストを返す:map
作品はあなたがラムダはそのパラメータを取る方法をよりよく理解するのに役立ちます方法を理解します。追加の反復可能な引数が渡された場合、この関数は 多くの引数とを並列
内のすべての 反復可能オブジェクトからアイテムに適用されていることを取らなければならないので、s
が反復可能x.split(':')
から各項目を表し、int(s)
は、アイテムの明示的なキャストを意味s
ここで、int(x)
はlambda
の戻りオブジェクトです。
モーゼに感謝、投票してください。したがって、コードは 'x.split( ':')'から返された各項目に対して明示的な型変換を行い、タプルを形成します。 –
正確です。あなたは私がやったよりもうまく言いました。 –
モーゼに感謝します。あなたの答えを答えにしてください。 :) –
についての詳細を読むことができます。 – Kasramvd
正確な重複はありませんが、役に立つかもしれません:http://stackoverflow.com/questions/890128/why-are-python-lambdas-useful?lq=1 – Michael0x2a
@Kasramvd、ありがとうございました。したがって、コードは 'x.split( ':')'から返された各項目に対して明示的な型変換を行い、タプルを形成します。 –