回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一个包含词汇的列表。
我想从列表中删除列表,如果它们的词汇不包含字符模式,例如“(atè|atwa | atif)$。例如:</p>
<pre><code>list = [['blablatè', 'blabla'], ['klak'], ['matwa', 'mat'], ['ma', 'mat'], ['ratif']]
</code></pre>
<p>预期结果将是:</p>
<pre><code>[['blablatè', 'blabla'], ['matwa', 'mat'], ['ratif']]
</code></pre>
<p>我以为我可以通过一个循环和re.search()来完成,但它不起作用。这是我的密码:</p>
<pre><code>import re
result = [['blablatè', 'blabla'], ['klak'], ['matwa', 'mat'], ['ma', 'mat'], ['ratif']]
rendp = "(atè|atwa|atif)$"
for row in result :
if re.search(rendp, row) == None :
result.remove(row)
joined = '\n'.join(' - '.join(map(str, row)) for row in result)
print(joined)
</code></pre>
<p>错误如下:</p>
<pre><code>Traceback (most recent call last):
File "C:\Users\alice\OneDrive\Documents\Visual Studio 2017\Projects\CréoleDB\CréoleDB\CréoleDB.py", line 65, in <module>
if re.search(rendp, row) == None :
File "C:\Users\alice\Anaconda3\lib\re.py", line 182, in search
return _compile(pattern, flags).search(string)
TypeError: expected string or bytes-like object
</code></pre>
<p>我真的需要一些帮助。非常感谢</p>