Python 循环遍历所有嵌套的字典值,并修改符合条件的值
我正在制作基于正则表达式的搜索引擎 例如,如果查询匹配Python 循环遍历所有嵌套的字典值,并修改符合条件的值,python,Python,我正在制作基于正则表达式的搜索引擎 例如,如果查询匹配(?p\d+@\d+,那么我想运行查询{“表”:“记录”,“过滤器”:{“文件名”:“*filename”}。但在此之前,我想用say替换“*filename”2786@20150510201045". 因此,基本上我想循环一个嵌套字典,并用相应的正则表达式命名组中的值替换以*开头的任何内容。我找到的最接近的结果是您最好添加一个预期结果 def myprint(d, groups): new_d = {} for k, v
(?p\d+@\d+
,那么我想运行查询{“表”:“记录”,“过滤器”:{“文件名”:“*filename”}
。但在此之前,我想用say替换“*filename”2786@20150510201045".
因此,基本上我想循环一个嵌套字典,并用相应的正则表达式命名组中的值替换以*开头的任何内容。我找到的最接近的结果是您最好添加一个预期结果
def myprint(d, groups):
new_d = {}
for k, v in d.items():
if isinstance(v, dict):
new_d[k] = myprint(v, groups)
elif isinstance(v, str):
new_d[k] = groups[v[1:]] if v.startswith('*') else v
else:
new_d[k] = v
return new_d