智能搜索列表中单词的方法

时间:2018-09-04 17:35:15

标签: python string list

我想制作一个能够以智能方式搜索单词列表的python程序。

假设我有一个这样的列表:

ex_list=["Red Apples", "Green Apples", "Bananas", "Yoghurt", "ApplePie", "Milk", "Pineapple"]

我要搜索的单词是:

search_word = "Apple"

我希望程序工作的方式是使它返回“ Red Apples”,“ Green Apples”,“ ApplePie”和“ Pineapple”。 (因为它们都包含苹果)

我该如何实现?

我基本上希望它返回包含“ a”,“ p”,“ p”,“ l”和“ e”的所有内容。我不在乎前面是什么(例如greenapple)或后面是什么(例如applePie)。

1 个答案:

答案 0 :(得分:2)

带过滤器的单缸纸:

list(filter(lambda x: search_word.lower() in x.lower(), ex_list))

或具有列表理解功能:

[x for x in ex_list if search_word.lower() in x.lower()]

只需根据ex_list元素包含search_word(不区分大小写)的条件来过滤列表即可。

结果:

['Red Apples', 'Green Apples', 'ApplePie', 'Pineapple']