首页 > 解决方案 > 查找列表中文本的完全匹配

问题描述

我想检查列表中的文本是否完全匹配。

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.
我怎样才能解决这个问题?

标签: python

解决方案


正如@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")

推荐阅读