可以用itertools.groupby( key = str.isalnum)
要找到 '+- .. +' 最後一個的作法,除了[-1],也可以使用
for symbol in '+-++-':
pass
symbol就會是最後一個了,他會是可以持續使用的變數,不限制在for 迴圈內
而groupby 產生的 group 會是一個 iterator ,除非使用''.join(g)[-1],否則不可直接索引
我先對主字串做split('+'),再對生成的字串串列依序做split('-'),最後針對某些字串用slice做反轉,最後字串連接在一起即可。