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?

questionAnswers(4)

yourAnswerToTheQuestion