我有一个如下所示的字符串列表:['ban*', 'c*rr*r', 'pl*s', pist*l ]
。我想检查这些字符串是否在另一个字符串列表中具有匹配的等价物,如下所示:
['banner', 'bannana', ban, 'carrer', 'clorror', 'planes', 'plots']
比较列表中的第一个字符串我有'banner'
和'bannana'
,这意味着有一个字匹配该字符串(" ban *")所以'*'
表示该字词中可以有一个或多个字母。
答案 0 :(得分:2)
尝试这种fnmatch方法
import fnmatch
lst = ['banner', 'bannana', 'ban', 'carrer', 'clorror', 'planes', 'plots']
f1 = fnmatch.filter(lst, 'ban*')
print (f1)
输出
['banner', 'bannana', 'ban']