我正在解析包含成分的字符串。

我把字符串分成单词列表
例如:

list1 = ['favorite','olive','oil']
list2 = ['favorite','oil']


我有一个清单,需要与清单中的单词匹配。例如,

ingredients = ['sesame oil', 'olive oil', 'olive juice', 'oil']


我需要一个在第一种情况下返回olive oil在第二种情况下返回oil的函数。

任何提示和建议都将受到高度赞赏。

最佳答案

这将提供列表之一和成分之间的重叠列表。如果列表中的成分集中有多个项目,这可能很有用。

def ingredient_checker(checklist):
    ingredients = ['sesame oil', 'olive oil', 'olive juice', 'oil']
    return [item for item in set(checklist).intersection(ingredients)]

>>> list3 = ['favorite','olive','oil', 'olive juice']
>>> ingredient_checker(list3)
['oil', 'olive juice']

10-08 03:09