我有两张不同尺寸的单子。一个有产品名称,另一个有品牌名称(可以是一个词或多个词)。 我需要检查产品名称是否有确切的品牌名称(存在于品牌列表中)并提取相同的其他返回空列表。 我在提取匹配的品牌名称时面临问题,因为品牌可能包含多个单词。在
例如: 输入如下:
Product_Titles =[['Best abc def hair oil'],['laptop erg eds ram 15 GB'],['oops dfr watch']]
Brand_List = [['abc def'],['dfe sdf sd'],['erg eds']]
#Expected Output :
Brand = [['abc def'],['erg eds'],[]]
正在获取第三个产品标题的空列表,因为我们无法获得任何与品牌列表匹配的品牌。在
备注:
只有完整的品牌名称匹配,我们才应该返回品牌名称。在
我尝试过Regex,但它不起作用,因为如果我们在品牌列表中有'str',在产品标题中有'string',它会将'string'作为品牌。但我需要精确的输出。在
非常感谢所有精彩的回答! 我综合了以下所有建议,并提出了我的建议。
解决方案:
您可以使用列表理解:
输出:
^{pr2}$对于python 2或3,如何解决此任务应该没有区别,只需循环
Product_Titles
并将匹配项保存为返回值:如果任何一个习语不清楚,请随意询问它们的意思。另外,如果行空间很宝贵,则此解决方案也可以表示为列表理解:
^{pr2}$这两者之间是有区别的,到目前为止,
break
在理解中并不存在。如果一个产品中存在多个品牌,它们将全部列在返回的列表中。这似乎是合理的,但实际上我会假设你也希望这种行为也在循环中。在另外,请注意,the google python stylesheet不鼓励使用超过一行(80个字符)的理解,而是使用循环。在
相关问题 更多 >
编程相关推荐