<p>使用<a href="https://docs.python.org/2/library/stdtypes.html#str.lower" rel="nofollow">^{<cd1>}</a>规范化大小写:</p>
<pre><code>for item in mylist2:
print item.lower() in mylist1
</code></pre>
<p><code>in</code>包含运算符已经返回<code>True</code>或{<cd4>},最简单的方法是打印:</p>
^{pr2}$
<p>如果<code>mylist1</code>包含大小写混合值,则需要使循环显式;使用<em>生成器表达式</em>生成小写值;对此进行测试可确保仅根据需要对多个元素进行小写以找到匹配项:</p>
<pre><code>for item in mylist2:
print item.lower() in (element.lower() for element in mylist1)
</code></pre>
<p>演示</p>
<pre><code>>>> mylist1 = ['fbH_q1ba8', 'fHh_Q1ba9', 'fbh_q1bA10','hoot']
>>> for item in mylist2:
... print item.lower() in (element.lower() for element in mylist1)
...
True
False
False
True
False
False
False
</code></pre>
<p>另一种方法是使用<a href="https://docs.python.org/2/library/functions.html#any" rel="nofollow">^{<cd6>}</a>:</p>
<pre><code>for item in mylist2:
print any(item.lower() == element.lower() for element in mylist1)
</code></pre>
<p><code>any()</code>也会短路;一旦找到<code>True</code>值(找到匹配元素),生成器表达式迭代就会提前停止。每次迭代都必须小写<code>item</code>,因此效率稍低。在</p>
<p>另一个演示:</p>
<pre><code>>>> for item in mylist2:
... print any(item.lower() == element.lower() for element in mylist1)
...
True
False
False
True
False
False
False
</code></pre>