python实现不遍历直接通过正则表达式匹配字典的键,从而获得对应的值

一、需求

python实现不遍历直接通过正则表达式匹配字典的键,从而获得对应的值

二、期望结果

import re
dic={'compile':1,'comompile':2}
com=re.compile(r'c(om)*pile')
# print(dic[com])           #因为com是一个对象,python不支持该操作,有没有优雅一些的方法实现该功能


import re

dic={'compile':1,'comompile':2}
com = re.compile(r'c[om]*pile')
keys = list(
    filter(
        lambda key:com.search(key) != None,
        dic.keys()
    )
)
list(map(dic.get,keys))

可以看下python参考手册中的 python- 字典