我正在逐行读取文件,并以我想要的方式用 line.split(',') 将其分开。现在我想标记、复制到列表或执行以下功能:
包含字符串“THIS”但不包含“THAT”的行。
我正在拍摄看起来像这样的东西:
if any(('THIS' in s for s in csvLine) if any('THAT' **!in** s for s in csvLine):
print csvLine
但这根本不是好的语法。我想我在使用列表理解时不知所措,但是由于这个答案,我之前已经成功地做到了。
我确实有一个使用下面代码的工作解决方案,但我觉得有更好的东西:
if any('THAT' in s for s in csvLine):
print "do nothing"
elif any('THIS' in s for s in csvLine):
print "do something"
else:
print "do nothing"
如何将这些 if-else 语句的逻辑压缩成更漂亮的 Pythonic 代码?
这是我实际的、非通用的、简单的英语问题:如果一行包含 CHAT 和 TRANSFER,那么它并不重要。如果它仅包含 CHAT,则不重要。如果它只包含 TRANSFER 而不是 CHAT 这个词,那么值得注意,我想对这条线做点什么。如何找到带有 TRANSFER 字样的行,但没有 CHAT 字样?