Python:如何匹配字符串列表中的特定单词,无论它由大写字母还是小写字母组成
Python: How to match a specific word in a list of strings, no matter it consists of upper or lower letters
我想定义一个函数:
- 将由字符串和关键字组成的列表作为输入
- returns一个新列表,其中包含关键字的字符串的索引号,无论关键字的一个或多个字符是小写还是大写。
我试过这个:
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')
这是 one-time 的事情还是内部循环?只需将所有内容设为大写(或等同于 lower-case)。
keyword_upper = keyword.upper()
[index for index, element in enumerate(doc_list) if keyword_upper in element.upper()]
如果你真的需要速度,然后用关键字创建一个正则表达式模式,然后对 doc_list.
的每个元素进行 case-insensitive 搜索
我想定义一个函数:
- 将由字符串和关键字组成的列表作为输入
- returns一个新列表,其中包含关键字的字符串的索引号,无论关键字的一个或多个字符是小写还是大写。
我试过这个:
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')
这是 one-time 的事情还是内部循环?只需将所有内容设为大写(或等同于 lower-case)。
keyword_upper = keyword.upper()
[index for index, element in enumerate(doc_list) if keyword_upper in element.upper()]
如果你真的需要速度,然后用关键字创建一个正则表达式模式,然后对 doc_list.
的每个元素进行 case-insensitive 搜索