Python 如何在列表中的词典字符串中搜索单词?
这是我的当前代码,但是当我为列表中的每个元素运行它时,它将打印“未找到结果”,如果它在那里,它将打印该代码。我希望它可以打印存在的结果,也可以只打印未找到的结果。只需使用Python 如何在列表中的词典字符串中搜索单词?,python,list,dictionary,search,Python,List,Dictionary,Search,这是我的当前代码,但是当我为列表中的每个元素运行它时,它将打印“未找到结果”,如果它在那里,它将打印该代码。我希望它可以打印存在的结果,也可以只打印未找到的结果。只需使用resultCount保存列表中找到的结果计数,并在for循环后检查计数 def SearchEntryComment(): print("\n\nSearch for guestbook comment with a keyword\n") CommentSearch = input("Enter key wo
resultCount
保存列表中找到的结果计数,并在for循环后检查计数
def SearchEntryComment():
print("\n\nSearch for guestbook comment with a keyword\n")
CommentSearch = input("Enter key word for search: ")
for i in range(len(dlGuestBook)):
if CommentSearch in dlGuestBook[i]["Comment"]:
print(i+1, ".", dlGuestBook[i] ["FirstName"], dlGuestBook[i]["LastName"], dlGuestBook[i]["Date"])
print(dlGuestBook[i]["Comment"], "\n")
else:
print("No results found")
print("\n")
仔细观察您的
for
循环正在做什么
def SearchEntryComment():
print("\n\nSearch for guestbook comment with a keyword\n")
CommentSearch = input("Enter key word for search: ")
resultCount = 0
for i in range(len(dlGuestBook)):
if CommentSearch in dlGuestBook[i]["Comment"]:
print(i+1, ".", dlGuestBook[i] ["FirstName"], dlGuestBook[i]["LastName"], dlGuestBook[i]["Date"])
print(dlGuestBook[i]["Comment"], "\n")
resultCount += 1
if resultCount == 0:
print("No results found")
print("\n")
我认为,如果循环没有找到任何结果,则只需在循环完成后打印“未找到结果”。像这样的事情可能是一个解决方案
for i in range(len(dlGuestBook)): # for each entry in the guestbook
if CommentSearch in dlGuestBook[i]["Comment"]:
# print the comment
else:
print("No results found")
在进入
for
循环之前,将名为found
的变量设置为False
。如果找到某个内容,请将其设置为True
。循环完成后,您将知道是否要打印“未找到结果”消息。它应该是False
和True
,而不是False
或True
。对于以前的所有结果,此消息都不起作用,它仍然不会显示任何结果。例如,如果第三个用户有来自CommentSearch的注释,它将不会显示任何结果,没有结果注释,但我明白您的意思
foundComment = False
for i in range(len(dlGuestBook)):
if CommentSearch in dlGuestBook[i]["Comment"]:
foundComment = True
# print the comment
if not foundComment:
print("No results found")