0
理解の構文仕様によれば、[x for x in (1,2,3) if lambda x :x-2]
が有効です。ただし、[x for x in (1,2,3)]
の結果は同じです。ラムダセクションには、このリストにどのような影響がありますか?ラムダセクションはこのリストの理解にどのような影響を与えますか?
理解の構文仕様によれば、[x for x in (1,2,3) if lambda x :x-2]
が有効です。ただし、[x for x in (1,2,3)]
の結果は同じです。ラムダセクションには、このリストにどのような影響がありますか?ラムダセクションはこのリストの理解にどのような影響を与えますか?
影響はありません。 lambda
式はfunction
オブジェクトを定義し、リスト内包のif
ガードはブール値を予期します。あなたが実際になど、その後
[x for x in (1,2,3) if (lambda y :y-2)(x)]
あなたと同じように結果の関数、呼び出された場合、リスト内包表記は
[x for x in (1,2,3) if True]
と全く同じであるので、function
オブジェクトの「truthinessは」、常にTrue
です値が2に等しくないかどうかを効果的にチェックする実際のフィルタがあります(y - 2
は0ではないため、の値が2以外の場合はTrue
)。