python - Python:如何匹配字符串列表中的特定单词,无论它是由大写字母还是小写字母组成
问题描述
我想定义一个函数:
- 将由字符串和关键字组成的列表作为输入
- 返回一个新列表,其中包含包含关键字的字符串的索引号,无论关键字的一个或多个字符是低位还是高位。
我试过这个:
def find_the_word(doc_list, keyword):
index_list = [doc_list.index(element) for element in doc_list if keyword in element]
return index_list
对于输入,a
我'name'
想作为结果[0,1,2]
。
a = ["My name is Maria.", "What is your name?", "Name three european countries."]
find_the_word(a,'name')
解决方案
这是一次性的事情还是内部循环?只需将所有内容都设为大写(或等效的小写)。
keyword_upper = keyword.upper()
[index for index, element in enumerate(doc_list) if keyword_upper in element.upper()]
如果你真的需要速度,那么用关键字创建一个正则表达式模式,然后对 doc_list 的每个元素进行不区分大小写的搜索。
推荐阅读
- java - 如何在使用 Comparator.reversed() 时修复编译器问题
- bash - 无法将 git 分支命令的输出捕获到 bash 变量中
- javascript - 在 JavaScript 中预览上传的图像
- php - 如何使用 Validation Laravel 排除字符串中的电话号码和 URL?
- javascript - 使用 Firefox 浏览器时,Cypress runner 给了我一个 404
- javascript - 使用反应钩子实现先前的问题逻辑
- c# - .net 核心中的应用程序未重定向到 https
- visual-studio-code - 我已经下载了扩展“Markdown Pdf”,但它没有出现在我的命令面板中
- swift - 属性包装器到属性包装器
- xamarin.forms - Prism.Forms:从 MasterDetailPage 将新页面推送到导航堆栈时不调用 IDestructibles Dispose 方法