擅长:python、mysql、java
<p>不带正则表达式的解决方案:</p>
<pre><code>lst = ['makeup brush tool', 'mak', 'flawless', 'tool', 'makeu', 'bru', 'brus', 'brush', 'makeup brush', 'cosmetic brush holder', 'elf makeup', 'key holder', 'holder', 'flaw', 'flawl', 'marinade brush', 'cosmetic', 'makeup brush cleaner', 'makeup brush holder', 'brush holder']
testword in sorted(lst):
for word in lst:
if testword !=word and testword in word:
try:
lst.remove(testword)
except ValueError:
pass
print(lst)
</code></pre>
<h2>逻辑:</h2>
<ol>
<li>首先对列表进行排序,短字符串更有可能被删除</li>
<li>用每一个单词循环</li>
<li>如果我们测试的单词(“testword”)是任何其他字符串的一部分,而不是它本身,那么将其从列表中删除</li>
</ol>