我想我是新手python程序员。
如果在python中给出任何列表/数组,我想只提取相关的关键字。
Ex:仅提取字符串列表中与食物相关的单词 例如,用户可以输入列表。
[0] I want to buy some apple.
[1] Oranges are good for the health.
[2] I bought 2 blueberries yesterday.
[3] John is eating some grapes.
[4] My crush did not like me back.
预期输出为:
[0] apple
[1] oranges
[2] blueberries
[3] grapes
[4] None
如果有人能指出我如何能够实现这样的目标,我将不胜感激。我仍然是编程的新手,并且最近发现了如何提取单词但仅如果我有一份分类食物列表供参考。我可以比较和提取Yaayyy !! :D但假设用户可以输入他/她想要的任何项目,我将如何为此寻求解决方案?复制全世界的所有食物并将其存放在清单中以供参考是否切实可行?我一直在寻找解决方案。也许我可能因某些原因错过了它。如果任何人都可以指向一个链接或主题,如果这是重复的话会很棒!
请大家好评,感谢StackOverFlow中的所有人真的帮了我很多忙! :)
答案 0 :(得分:0)
这是一种方法,它将处理一般算法而不是单数/复数特定食物的问题。
导入字符串
lst = ['I want to buy some apple.',
'Oranges are good for the health.',
'I bought 2 blueberries yesterday.',
'John is eating some grapes.',
'My crush did not like me back.']
foods = {'apple', 'oranges', 'blueberries', 'grapes'}
translation = str.maketrans('', '', string.punctuation)
lst2 = [set(i.translate(translation).lower().split(' ')) & foods for i in lst]
# [{'apple'}, {'oranges'}, {'blueberries'}, {'grapes'}, set()]
答案 1 :(得分:0)
基本上,没有你可以使用的神奇工具。您需要自己生成单词列表。我建议你查看nltk library。它可以帮助你正确地提取单词和句子。然后你应该分别检查每个单词(如if my_word in my_food_list: blablabla....
)。
您还可以查看this similar question。