当python中列表中的元素为“-”时,如何将当前元素与下一个元素合并?

PZY*_*PZY 1 python list

我根据空间将字符串分成列表。当元素值为“-”时,我想将其与下一个元素合并。

例如,

['x^3', 'x', '-', '4']想转变为['x^3', 'x', '-4']

['-', 'x^3', 'x', '-', '4']想转变为['-x^3', 'x', '-4']

    b = "x^3 + x - 4".split(" ")
    b = [x for x in b if x != '+']
    #combine "-" with next element
Run Code Online (Sandbox Code Playgroud)

You*_*ang 5

replace方法str将很有用:

s = "x^3 + x - 4"
new_s = s.replace('- ', '-').replace('+ ', '')
b = new_s.split(" ")
Run Code Online (Sandbox Code Playgroud)

这比使用for循环更优雅。
顺便说一句,避免使用for循环及appendlist是否可以使用列表理解,因为反复调用append方法比列表理解慢得多。