自動化測試中,需要對特定列表中的數據進行模糊查詢,從而篩選出完整值進行返回,故整理如下兩種方法;
方法一:適用於列表值為字符串的模糊查詢,實例如下
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為精確匹配,