python - 查找列表中文本的完全匹配
问题描述
我想检查列表中的文本是否完全匹配。
lst = ["Hi my name is ", "apple "]
new_lst = [t.strip() for t in lst]
text = input("text: ").lower()
if text in new_lst:
print("True")
else:
print("False")
但是当我输入hi my name is
我得到false
而不是true
.
我怎样才能解决这个问题?
解决方案
正如@timgeb 所提到的,在 Python 中,字符串相等性检查是区分大小写的。
标准化输入和数据以确保不区分大小写是相当普遍的。在您的代码中,由于您正在处理 的每个元素lst
以删除多余的空格,因此将您的文本也标准化lst
为小写也非常简单。
lst = ["Hi my name is ", "apple "]
new_lst = [t.strip().lower() for t in lst] # using method chaining
# to lowercase the stripped text
# by applying .lower()
text = input("text: ").lower()
if text in new_lst:
print("True")
else:
print("False")
推荐阅读
- angularjs - 在同一页面上手动引导 Angular 和 AngularJS 应用程序的更深层次的副作用(如果有的话)是什么?
- javascript - React:React-Firebase-Hooks 没有获得价值
- javascript - TinyMCE 输入以相反的顺序写入
- regex - 在 Rust 中保存/加载编译的正则表达式?
- python - 如何在 Windows 服务中停止调度程序?
- java - 带有参数的 Volley jsonObjectRequest 不起作用
- android - Android - 在深度链接上看到的 windowBackground
- elasticsearch - Filebeat add_tags 处理器发送标签但不能在仪表板可视化中使用
- python - open_note() 缺少 1 个必需的位置参数:'docid'
- azure-data-factory-2 - 是否可以在数据工厂计划触发器/翻转窗口触发器中指定跳过日期/期间?