自动化测试中,需要对特定列表中的数据进行模糊查询,从而筛选出完整值进行返回,故整理如下两种方法;
方法一:适用于列表值为字符串的模糊查询,实例如下
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为精确匹配,