我试图制作一些lambda表达式。没有任何错误。但它不能正常工作。以下是我的代码。Python中的Lambda表达式无法正常工作
from nltk.tokenize import word_tokenize
list1 = 'gain, archive, win, success'.split(',')
list2 = 'miss, loss, gone, give up'.split(',')
def classify(s, rls):
for (f, emotion) in rls:
if f(s):
return emotion
return "another"
rules = [(lambda x: (i for i, j in zip(word_tokenize(x),list2) if i == j) != [], "sad"),
(lambda x: (a for a, b in zip(word_tokenize(x),list1) if a == b) != [], "happy"),]
print classify("I win the game", rules)
print classify("I miss you", rules)
输出是
sad
sad
我不知道什么是错我的代码。有人能帮我吗 !
寻求调试帮助的问题(“为什么这个代码不工作?”)必须包含所需的行为,特定的问题或错误,以及在问题本身中重现问题所需的最短代码。没有明确问题陈述的问题对其他读者无益。见[mcve]。 –
我们还需要'word_tokenize'函数定义 –
首先,更正你的代码缩进! –