<pre><code>def myfunction(products, product):
emptylist = []
for items in products:
if product.lower() in items.lower():
emptylist.append(items)
return emptylist
products = ['Csokolade', 'MogyoroVAJ', 'valami', 'ize', 'kutyakaja', 'vajaskenyer']
res = myfunction(products,'VAJ')
print(res)
</code></pre>
<p>但是,请记住:</p>
<pre><code>products = ['Chocolat', 'peanutbutter','sugar', 'Chocolatcream']
result = myfunction(products, 'chocolate')
</code></pre>
<p>可能不起作用。
你需要一个精确的子串。你知道吗</p>
<pre><code>products = ['Chocolat', 'peanutbutter','sugar', 'Chocolatcream']
result = myfunction(products, 'chocolat')
</code></pre>
<p>将返回正确的列表。你知道吗</p>
<p>你可以做:</p>
<pre><code>def myfunction(products, product):
product = product[0:len(product)-1]
print(product)
emptylist = []
for items in products:
if product.lower() in items.lower():
emptylist.append(items)
return emptylist
products = ['Chocolat', 'peanutbutter','sugar', 'Chocolatcream']
result = myfunction(products, 'chocolate')
print(result)
</code></pre>
<p>但请记住。这将搜索字符串中除最后一个字母外的所有字符的匹配项。这可能会导致<code>res = myfunction(products,'VAJ')</code>中的潜在问题,因为函数随后将查找子字符串<code>va</code>的出现。因此,任何包含<code>va</code>的字符串(即使是无意中)都将被返回。<code>['MogyoroVAJ', 'valami', 'vajaskenyer']</code>将在您调用时返回</p>
<pre><code>products = ['Csokolade', 'MogyoroVAJ', 'valami', 'ize', 'kutyakaja', 'vajaskenyer']
result = myfunction(products, 'VAJ') using the above modified code.
</code></pre>