ラムダが私のコードで使用しようとしたときに、ラムダが望むように動作しないように思っていたので、ここに私のコードは次のとおりです。ラムダが期待どおりに動作しない
for i in range(50):
if i in B:
part1 = filter(lambda x: i in x, A)
part2 = reduce(lambda x, y: x + y, part1)
return part2[1]
Aはこのような何かを見ることができる比で50語のリストです:
[['the', 0.6925910972039971], ['of', 0.3301705864540224], ['and', 0.304178863429898],...
Bは、可能性の単語から成る、ほとんど同じことになります私が得ているエラーはUnboundLocalError: local variable 'part2' referenced before assignment
です。は、'the'
のような単語に置き換えると、その単語の割合である目的の結果が得られるので、私は問題であると信じています。誰かが私が望むやり方でラムダを動作させる方法を教えてもらえれば、それは大いに評価されるでしょう!
これは 'lambda 'とは何も関係ありません。 'part2'は' if'ブロック条件が成立すればローカルスコープ*内にのみ存在します。 –