我正在尝试从烹饪食谱中提取食材清单。为此,我在文件中列出了许多成分的清单,然后对照配方检查所有这些成分。
代码如下:

ingredients = ['sugar', 'flour', 'apple']
found = []
recipe = '''
1 teaspoon of sugar
2 tablespoons of flour.
3 apples
'''
for ingredient in ingredients:
    if ingredient in recipe:
         found.append(ingredient)


我正在寻找一种更有效的方法,因为可能的成分列表可能真的很大。有任何想法吗?

最佳答案

您可以拆分输入并使用集:

ingredients = set(['sugar', 'flour', 'apple'])
recipe_elements = set([i.strip() for i in recipe.split(' ')])
used_ingredients = ingredients & recipe_elements    # the intersection


您可能需要根据输入的来源进行各种清理。您需要进行基准测试,以查看它是否实际上更好,并且在用户不进行额外工作的情况下,就像您在示例中输入“ apples”的情况下,它与“ apple”不匹配(例如,使所有内容均为单数)。

关于python - 从文本中提取主题关键字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34659891/

10-12 18:19