首页 > 解决方案 > 与字符串列表python的精确字符串匹配和比较

问题描述

我想要的是比较一个字符串并检查它是否存在于字符串列表中。例如

'mild proliferative retinopathy'=='diabetic retinopathy' or  'moderate non proliferative retinopathy' or 'mild nonproliferative retinopathy'

我想要完全匹配的不是部分。如果完全匹配,则返回 True,而不是 False。

以下实现在部分匹配时返回 True。我需要精确匹配

any('diabetic' in s for s in ['diabetic retinopathy' , 'moderate non proliferative retinopathy' ,'mild nonproliferative retinopathy'])

我尝试的另一个实现

'retinopathy' in str(['diabetic retinopathy' , 'moderate non proliferative retinopathy' ,'mild nonproliferative retinopathy'])

这也会在部分匹配时返回 True

标签: pythonstring

解决方案


而不是使用in,使用==

any('diabetic' == s for s in ['diabetic retinopathy' , 'moderate non proliferative retinopathy' ,'mild nonproliferative retinopathy'])

这是因为in检查您string是否存在于string您与之进行比较的任何地方。==检查两个字符串是否相等。


推荐阅读