擅长:python、mysql、java
<p>一种方法是只接受包含<code>-CP-</code>的项,而不是检查<code>CP</code>是否存在,然后过滤结果。您可以在<a href="http://python-3-patterns-idioms-test.readthedocs.io/en/latest/Comprehensions.html" rel="nofollow"><em>list comprehension</em></a>中执行此操作:</p>
<pre><code>[item for item in headers if '-CP-' in item]
</code></pre>
<p>如果您不确定分隔符(这里是<code>'-'</code>),您可以用regex检查它</p>
<pre><code>>>> import re
>>>
>>> headers = ['Margaret', 'Peter', 'Julia-noCP-L', 'Parker-CP-T', 'Jessica', 'Monica-CP-T', 'Mark, Peter-noCP']
>>> [item for item in headers if re.search(r'\bCP\b', item)]
['Parker-CP-T', 'Monica-CP-T']
</code></pre>
<p>正则表达式<code>r'\bCP\b'</code>将只匹配被无字字符包围的<code>CP</code>文本(<code>\b</code>是regex中的字边界修饰符)</p>