def ethos(file):
f = open(file)
raw = f.read()
token = nltk.word_tokenize(raw)
words_to_match = ['love' , 'good' , 'excellent' , 'perfect' , 'brilliant']
words_to_match2 = ['bad' , 'primitive' , 'struggle' , 'annoying' , 'problem' , 'time-consuming', 'fiddly']
positive_tokens = []
negative_tokens = []
for tokens in token:
if tokens in words_to_match:
positive_tokens.append(tokens)
and tokens in words_to_match2:
negative_tokens.append(tokens)
return negative_tokens
我编写此代码的目的是返回两个列表,一个是正面,一个是负面,我不能给两个返回语句,但我想要两个单独的列表。此程序在'和'语句中显示语法错误,请提供帮助。
答案 0 :(得分:2)
按以下方式更改程序的最后一部分:
for tokens in token:
if tokens in words_to_match:
positive_tokens.append(tokens)
if tokens in words_to_match2:
negative_tokens.append(tokens)
return (positive_tokens, negative_tokens)
这将返回一个包含两个元素的元组。你这样使用它:
(positive_tokens, negative_tokens) = ethos(yourfile)
答案 1 :(得分:0)
我会做类似的事情:
def ethos(file):
...
positive_tokens = [t for t in token if t in words_to_match]
negative_tokens = [t for t in token if t in words_to_match2]
return positive_tokens, negative_tokens
你可以使用它:
positive, negative = ethos("somefile.txt")
有关从函数中返回多个值的更高级讨论,请参阅How do you return multiple values in Python?