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