Если у меня есть строка, которая является выходом совпадения с регулярным выражением [MSP]*
, каков самый чистый способ преобразовать его в dict, содержащий ключи M, S и P, где значение каждого ключа истинно, если ключ появляется в строке?
, например
'MSP' => {'M': True, 'S': True, 'P': True}
'PMMM' => {'M': True, 'S': False, 'P': True}
'' => {'M': False, 'S': False, 'P': False}
'MOO' won't occur...
if it was the input to matching the regexp, 'M' would be the output
Лучшее, что я могу придумать, это:
result = {'M': False, 'S': False, 'P': False}
if (matchstring):
for c in matchstring:
result[c] = True
но это кажется немного неуклюжим, я задавался вопросом, был ли лучший способ.