我对python还是相当陌生的,在阅读列表理解时仍然有一些失手。我试着把我在教程中看到的两个列表理解翻译成它的加长形式。我翻译对了吗?你知道吗
列表理解1
mytokens = [ word.lemma_.lower().strip() if word.lemma_ != "-PRON-" else word.lower_ for word in mytokens ]
翻译1
for word in mytokens:
if word.lemma_ != "-PRON-":
word.lemma_.lower().strip()
else:
word.lower_
列表理解2
mytokens = [ word for word in mytokens if word not in stopwords and word not in punctuations ]
翻译2
for word in mytokens:
if word not in stopwords and not in punctuations:
yield word
对于翻译2,我不认为“屈服词”是正确的,因为它不是一个定义。我猜列表理解2执行if语句并将单词放回列表mytokens中,所以它可能应该是.append?你知道吗
让我们简化一下:
如果您运行这个,您可以通过使用
assert
或仅仅return
ingcomprehended == comprehender(coll)
来确保这两者是等价的这是一个有效的健全检查,你可以对任何列表的理解,你只是改变这个模式,以符合逻辑的理解。你知道吗
我认为这是对的。你循环正确。但是,您没有将单词添加到列表中吗?你是说要这么做吗?你知道吗
所以第一个你可以用
通过将它们添加到这样的列表中,意味着您可以直接比较翻译的输出和列表理解的输出。^如果操作正确,{}应该与
my_list
完全相同。你知道吗还有一个小错误在第二次翻译。应该是:
您还可以修改第二个翻译,将所有单词添加到列表中。你知道吗
相关问题 更多 >
编程相关推荐