我想知道lambda是如何工作的,因为当我尝试在我的代码中使用它时,它似乎不想按照我希望的方式工作。这里是我的代码:lambda不按预期工作
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.将几乎同样的事情,由词可能是类似于A中的内容。我得到的错误是UnboundLocalError: local variable 'part2' referenced before assignment
我相信i
是问题所在,因为当我用诸如'the'
之类的词替换它时,我会得到期望的结果,即该词的比例。如果有人能告诉我如何以我想要的方式或以另一种方式使lambda工作,将不胜感激!
这与'lambda'没有任何关系。如果* if条件通过,'part2'将只存在于本地范围*中。 –