2015-07-03 80 views
2

我试图去解析一些文本并寻找某些模式。我正在寻找的一种模式是包含'AS'和'。'的字符串。Python如果语句在''中使用'和'

假设我有一个字符串列表,我使用它来查找和追加选择字符串到一个新的列表。

list1 = [] 

for ngram in bigrams: 
     if ' AS ' and '.' in ngram: 
      list1.append(ngram) 

这不是工作,这似乎是运作更像是:

if ' AS ' or '.' in ngram: 

有什么建议?

回答

2
if ' AS ' and '.' in ngram: 

被解析为

if (' AS ') and ('.' in ngram): 

即,

if (True) and ('.' in ngram): 

这相当于刚刚if '.' in ngram

事实上,你不能在巴兹使用“foo和bar”。尝试改为:

if ' AS ' in ngram and '.' in ngram: 

甚至更​​好,使用列表中的理解和改变那些5行代码到一个:

list1 = [ngram for ngram in bigrams if ' AS ' in ngram and '.' in ngram]