首页 > 解决方案 > python - 当元素在python列表中为“-”时,如何将当前元素与下一个元素组合?

问题描述

我根据空间将一个字符串拆分为一个列表。当元素值为“-”时,我想将它与下一个元素结合起来。

例如,

['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

标签: pythonlist

解决方案


replace方法str会很有用:

s = "x^3 + x - 4"
new_s = s.replace('- ', '-').replace('+ ', '')
b = new_s.split(" ")

这比使用for循环更优雅。
顺便说一句,避免使用for循环appendlist如果可以使用列表推导,因为重复调用append方法比列表推导慢得多。


推荐阅读