python实现对列表进行模糊查询

自动化测试中,需要对特定列表中的数据进行模糊查询,从而筛选出完整值进行返回,故整理如下两种方法;

 

方法一:适用于列表值为字符串的模糊查询,实例如下

list1 = ['qqaabb', 'wweerr', '121', 'qbcd', 'plqs']
data = [x for i,x in enumerate(list1) if x.find('qs') != -1]
print(data) # 返回值为:['plqs']

 

方法二:使用python自带的difflib库,实例如下

import difflib


list1 = ['qqaabb', 'wweerr', '121', 'qbcd', 'plqs']
data = difflib.get_close_matches('qs', list1, 1, cutoff=0.5)
print(data) # 返回值为:['plqs']

说明:cutoff参数是0到1的浮点数, 可以调试模糊匹配的精度, 1为精确匹配,

 

posted @ 2020-10-09 20:05  Tester_Jhm  阅读(14043)  评论(0编辑  收藏  举报