式内の演算子 (括弧を含む) とオペランドを分離しようとしています。たとえば、式が与えられた場合
expr = "(32+54)*342-(4*(3-9))"
取得しようとしています
['(', '32', '+', '54', ')', '*', '342', '-', '(', '4', '*', '(', '3', '-', '9', ')', ')']
これが私が書いたコードです。Pythonでそれを行うより良い方法はありますか。
l = list(expr)
n = ''
expr = []
try:
for c in l:
if c in string.digits:
n += c
else:
if n != '':
expr.append(n)
n = ''
expr.append(c)
finally:
if n != '':
expr.append(n)