<p>正如@fourtheye所指出的,这里需要内置的<a href="http://docs.python.org/2/library/functions.html#all" rel="nofollow">^{<cd1>}</a>函数,您可以使用它和列表理解来完成下面描述的工作。你知道吗</p>
<p>所以试试这个:</p>
<pre><code>if all(i in abrindo for i in palavras_chaves):
print '\nÉ um joomla!'
elif all(i in abrindo for i in palavras_chaves2):
print '\nÉ um wordpress!'
else:
print '\nÉ um CMS desconhecido!'
</code></pre>
<h2>编辑:</h2>
<p>我想如果你手动操作,比如:</p>
<pre><code>if palavras_chaves[0] and palavras_chaves[1] in abrindo:
</code></pre>
<p>它之所以起作用是因为<code>palavras_chaves[1]</code>在<code>abrindo</code>中,但是<code>palavras_chaves[0]</code>可能不在<code>abrindo</code>中,但是当您使用<code>all()</code>时,^{<cd7>>><strong>中的所有字符串都有</strong>在<code>abrindo</code>中,万一有一个字符串不在<code>abrindo</code>中,<strong><em>它就失败了!</em></strong></p>
<p>看这个例子,您尝试这样做,您希望它返回<code>'Works as expected'</code>,但是它返回相反的结果</p>
<pre><code>>>> if 'Hey' and 'Bye' in 'Bye':
... print 'Not expected right?'
... else:
... print 'Works as expected'
...
#Not expected right?
</code></pre>
<p>但是使用<code>all()</code>:</p>
<pre><code>if all(i in 'Bye'for i in ['Hey','Bye']):
print 'Not expected right?'
else:
print 'Works as expected'
#Works as expected
</code></pre>