今天做题做到一个题目,题目是英文就大概说一下题目意思
输入一个列表,里面都是由句子组成,例如
doc_list = [“The Learn Python Challenge Casino.”, “They bought a car”, “Casinoville”]
然后查找每个元素中是否含有某个单词,但是不区分大小写,并且这种情况:Casinoville中没有casino这个单词,编写一个函数,输出哪几个元素中含有这个单词,如果没有输出空列表
【样例输入】[“The Learn Python Challenge Casino.”, “They bought a car”, “Casinoville”] , casino
【样例输出】[0]
这题不区分大小写,所以把字符全部转换成大写或者小写再判断,同时,句子中有句号或者逗号与最后一个单词相连,所以要去掉。通过这题了解到了一个新的函数–enumerate()。可以同时获取列表中的下标和元素,可以参考题目代码了解用法
def word_search(doc_list, keyword):
indices = []
for i, doc in enumerate(doc_list):
tokens = doc.split()
normalized = [token.rstrip('.,').lower() for token in tokens]
#去除逗号和句号
if keyword.lower() in normalized:
indices.append(i)
return indices