我想定義一個函數:將由字符串和關鍵字組成的列表作為輸入返回一個新列表,其中包含包含關鍵字的字符串的索引號,無論關鍵字的一個或多個字符是小寫還是大寫。我已經嘗試過這個: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')
1 回答

蕭十郎
TA貢獻1815條經驗 獲得超13個贊
這是一次性的事情還是內部循環?只需將所有內容設為大寫(或同等的小寫)即可。
keyword_upper = keyword.upper()
[index for index, element in enumerate(doc_list) if keyword_upper in element.upper()]
如果您確實需要速度,請根據關鍵字創建正則表達式模式,然后對 doc_list 的每個元素進行不區分大小寫的搜索。
添加回答
舉報
0/150
提交
取消