我有两个转换案例:
s = "foo bar" #-> "foo bar &"
s = "foo ! bar" # -> "foo & ! bar" -> notice not '&!'
我是这样做的:
t = s.split("!", 1)
t[0] = t[0] + " &"
" !".join(t)
有什么更 pythonic 的方法来做同样的事情?
最佳答案
str.partition
是为了运算符解析而构建的:
p = s.partition(' !')
print p[0]+' &'+p[1]+p[2]
它适用于从左到右解析时的前缀和中缀运算符。事实上,它总是返回一个 3 元组,即使在找不到您的运算符时也可以使用它,并对您的结果应用操作,如上所示。
关于插入字符的 Pythonic 方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10669665/