【发布时间】:2017-02-15 04:55:14
【问题描述】:
以下代码将匹配的 symblsDict 字典键替换为其变量 line 中的值。
keys1 = ('|'.join(symblsDict.keys()))
robj1 = re.compile(keys1)
result = robj1.sub(lambda m: symblsDict[m.group(0)], line)
在此上下文中,Lambda 函数用于声明变量 m 并保存匹配模式结果。我不明白变量m 是如何获得匹配模式结果的,因为我们没有分配任何值m,只是在函数中声明?
Content of Dictionary:{'FTP': 'FTP,COND=(0,LE)', 'TOTAL.LIB6': 'TOTAL.TEST.LIB', 'TOTAL.CTRX': 'TOTAL.TEST.CTRX', 'DD1': 'ZZ.VVMSSB', 'JHSOUT': '*', 'SOUT': '*', 'SALEDB': 'TEST12', 'EMAIL': 'EMAIL,COND=(0,LE)'
Content of keys1: FTP|TOTAL.LIB6|TOTAL.CTRX|DD1|JHSOUT|SOUT|SALEDB|EMAIL
Content of line: // SOUT=A,
Output:// *=A,
【问题讨论】:
-
m在函数签名lambda m:中声明。
标签: python string python-2.7 lambda expression