如何用Python实现根据字符串输入检索列表内容的功能?
解决审核员检索评论的Python代码问题
我来帮你修复这段代码,实现审核员输入内容后检索对应评论的功能。原代码里有几个关键问题需要调整,下面是完整的修改版本,再给你解释具体改动点:
# 定义今日评论列表 review1 = ("Reizen ging soepel") review2 = ("Het reizen was erg tof") review3 = ("Kanker NS") review4 = ("Het ging simpel") review5 = ("Goede regels voor corona") review6 = ("Trein kwam eindelijk een keer optijd") review7 = ("NS komt altijd telaat! Tyfus zooi!") review8 = ("Kut NS weer vertraging") review9 = ("Volgende keer neem ik de taxi, sjonge jonge jonge altijd weer het zelfde probleem met NS") review10 = ("NS Altijd goede ervaring mee gehad") reviews_of_today = [review1, review2, review3, review4, review5, review6, review7, review8, review9, review10] # 获取审核员的查询输入,去除前后空格避免误判 show_review = input("Which reviews do you want to check? ").strip() # 遍历评论列表,查找包含输入内容的评论(大小写不敏感) matching_reviews = [review for review in reviews_of_today if show_review.lower() in review.lower()] # 根据检索结果输出信息 if matching_reviews: print("\nFound matching reviews:") for idx, review in enumerate(matching_reviews, 1): print(f"{idx}. {review}") else: print("\nNo matching reviews found.")
具体改动说明:
- 移除无效逻辑:原代码里的
moderator_want_to_see_review = (show_review)和if moderator_want_to_see_review in show_review:完全是冗余的,因为两个变量是同一个值,根本起不到检索列表的作用,直接删掉即可。 - 优化输入处理:给
input()结果加上.strip(),可以去除输入前后的空格,避免因为用户不小心输入空格导致检索失败。 - 实现正确检索:用列表推导式遍历
reviews_of_today列表,通过lower()实现大小写不敏感匹配——比如审核员输入"ns",也能找到所有包含"NS"的评论,更符合实际使用场景。 - 完善结果输出:增加了结果判断,找到匹配评论时会逐条带序号输出,没找到时会明确提示,提升审核员的使用体验。
内容的提问来源于stack exchange,提问作者user13798483
相关产品推荐
相关产品推荐

