Python 遍历列表并返回包含特定单词的元素
我有以下代码:Python 遍历列表并返回包含特定单词的元素,python,list,search,contain,Python,List,Search,Contain,我有以下代码: wordSearch = "ghi" lst = ['c:/test/abc.bat','c:/test/test1/def.bat','c:/123/ghi.exe','c:/test/testing/aa/jkl.bat'] 通过搜索“ghi”,我希望它返回“c:/123/ghi.exe”。因此,最终我希望它遍历列表并返回包含特定文本的元素 非常感谢。像这样使用: [item for item in lst if wordSearch in item] 上行将返回包含wo
wordSearch = "ghi"
lst = ['c:/test/abc.bat','c:/test/test1/def.bat','c:/123/ghi.exe','c:/test/testing/aa/jkl.bat']
通过搜索“ghi”,我希望它返回“c:/123/ghi.exe”。因此,最终我希望它遍历列表并返回包含特定文本的元素
非常感谢。像这样使用:
[item for item in lst if wordSearch in item]
上行将返回包含wordSearch
的任何项目
输出:
>>> wordSearch = "ghi"
>>> lst = ['c:/test/abc.bat','c:/test/test1/def.bat','c:/123/ghi.exe','c:/test/testing/aa/jkl.bat']
>>>
>>> [item for item in lst if wordSearch in item]
['c:/123/ghi.exe']
如果需要只返回第一次出现的函数:
wordSearch = "ghi"
lst = ['c:/test/abc.bat','c:/test/test1/def.bat','c:/123/ghi.exe','c:/test/testing/aa/jkl.bat']
def find_word(wordSearch, lst):
for path in lst:
if wordSearch in path:
return path
print(find_word(wordSearch, lst))
您可以使用
过滤器:
print filter(lambda x: 'ghi' in x, lst)
对于Python3,上面的行将返回一个过滤器
对象。因此,您需要在其上使用工厂函数list()
print(list(filter(lambda x: 'ghi' in x, lst)))
可能重复的