Como dividir os caracteres inteiros e operadores da string em python?
Eu quero dividir a string em inteiros e operadores para fazer a avaliação da expressão Infix em python.
Aqui está minha string:
>>> s = (1-2+3)*5+10/2
Eu tentei isso para dividir:
>>>list(s)
['(', '1', '-', '2', '+', '3', ')', '*', '5', '+', '1', '0', '/', '2']
Isto está errado. Desde '10' é dividido em '1', '0'
Eu tentei alternativa:
>>> re.findall('[+-/*//()]+|\d+',s)
['(', '1', '-', '2', '+', '3', ')*', '5', '+', '10', '/', '2']
Isso também deu errado. Como ') *' deve ser dividido em ')', '*'
Você poderia ajudar a dividir os operadores e inteiros da expressão dada?