繁体   English   中英

Python:如何匹配字符串列表中的特定单词,无论它是由大写还是小写字母组成

[英]Python: How to match a specific word in a list of strings, no matter it consists of upper or lower letters

我想定义一个函数:

  • 将一个由字符串和关键字组成的列表作为输入
  • 返回一个新列表,其中包含包含关键字的字符串的索引号,无论关键字的一个或多个字符是低位还是高位。

我试过这个:

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 的每个元素进行不区分大小写的搜索。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM