我想检查列表中文本是否完全匹配。
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
。
我该如何解决?
答案 0 :(得分:3)
@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")
答案 1 :(得分:0)
尝试
<div class='product'>
<div class='content'>
<input name='txtName[]' class='txtName' type='text' value=''>
</div>
<div class='chooseProduct'>
<div class='attributes'>
<div class='materials' id='".rand()."'>
<div class='text'>Material:</div>
<select class='materials-option' name='txtMaterial[]' onChange='getMaterial(this, $(this).parent().siblings());'>
<option value='0' selected disabled>Choose material</option>
<option value='".$aMaterial['material_id']."' id='".$aMaterial['material_id']."'>".$aMaterial['material_name']."</option>
</select>
</div>
<div class='sizes' id='".rand()."'>
<div class='text'>Size:</div>
<select class='size-option' name='txtSize' onChange='getSize(this);'>
<option value='0' selected disabled>Choose size</option>
<option value='".$aSize['size_id']."' id='".$aSize['size_id']."'>".$aSize['size_name']."</option>
</select>
</div>
</div>
</div>
</div>
答案 2 :(得分:0)
您可以尝试
lst = ["Hi my name is ", "apple "]
new_lst = [t.strip().lower() for t in lst]
text = input("text: ").lower()
print("True" if text.lower() in new_lst else "False")
此代码会将第一个列表中的所有字符都更改为小写,并将输入文本进行小写比较,这样您将获得一个匹配项。
答案 3 :(得分:0)
您可以在进行比较时直接剥离和小写:
lst = ["Hi my name is ", "apple "]
text = input("text: ").lower()
if text in [e.strip().lower() for e in lst]:
print("True")
else:
print("False")