Ниже код заменяет соответствующие словарные ключи symblsDict
со своими значениями в переменной line
.Лямбда-функция, работающая в нижнем фрагменте кода python
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: '. – TigerhawkT3