我需要用Python编写一个函数,它需要两个参数:一个列表和一个字符串。函数必须返回列表中存在的那些产品的列表。 举个例子:
products = ['Chocolat', 'peanutbutter','sugar', 'Chocolatcream']
result = myfunction(products, 'chocolate')
->;应该是['Chocolat', 'Chocolatecream']
……等等。重要的是小写和大写并不重要!你知道吗
这是我的代码,我写的…:
def myfunction(products, product):
list = products
trueorfalse =[ product.lower() in x for x in [element.lower() for element in list]]
eempty = []
for i in trueorfalse:
if trueorfalse[i] == True:
eempty.append(products[i])
++i
return eempty
products = ['Csokolade', 'MogyoroVAJ', 'valami', 'ize', 'kutyakaja', 'vajaskenyer']
res=myfunction(products,'VAJ')
print(res)
我期望结果是['MogyoroVAJ', 'vajaskenyer']
,但我得到了['MogyoroVAJ', 'MogyoroVAJ']
我不知道如何才能解决它,我尝试了许多不同的解决方案,但每次都有一些不同的问题。你知道吗
提前谢谢!你知道吗
列表理解可用于执行以下操作:
这将显示:
但是,请记住:
可能不起作用。 你需要一个精确的子串。你知道吗
将返回正确的列表。你知道吗
你可以做:
但请记住。这将搜索字符串中除最后一个字母外的所有字符的匹配项。这可能会导致
res = myfunction(products,'VAJ')
中的潜在问题,因为函数随后将查找子字符串va
的出现。因此,任何包含va
的字符串(即使是无意中)都将被返回。['MogyoroVAJ', 'valami', 'vajaskenyer']
将在您调用时返回相关问题 更多 >
编程相关推荐