我把一个字符串按照空格拆分成一个列表。当元素值为“-”时,我想将它与下一个元素组合。
例如,
['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
请您参考如下方法:
str 的replace 方法会很有用:
s = "x^3 + x - 4"
new_s = s.replace('- ', '-').replace('+ ', '')
b = new_s.split(" ")
这比使用 for 循环更优雅。
顺便说一句,如果可以使用列表理解,请避免使用 for 循环和 list 的 append,因为会重复调用 append 方法比列表理解慢得多。
