因此,如果列表中有多个句子,并且我想搜索一个单词,如何使其仅搜索每个句子的第一个单词?


list = ["This is an example", "Hello there! This is an example"]

search = input("Search: ")
for title in list:
if search in title:
print(title)
#Output
Search: This
This is an example
Hello there! This is an example

这样做的目的是搜索附加到(search(的字符串,但我只希望它搜索一个关键字,它是句子的第一个字母。所以自从我输入";这个";在(搜索(中,我希望它只搜索并打印";这是一个例子";因为";这个";是一个句子的第一个单词。

split句子并与第一个单词进行比较,如:

l = ["This is an example", "Hello there! This is an example"]
search = input("Search: ")
for title in l:
if search == title.split()[0]:
print(title)

使用列表理解的较短答案:

l = ["This is an example", "Hello there! This is an example"]
s = input("Enter search string : ").lower()   #lower function for case-less comparison
print("".join([i for i in l if i.split()[0].lower() == s]))

如果你不知道列表理解的概念,我不会建议你这个答案。可能是@not_speshal的答案,因为我的是她的代码的较短版本。

最新更新