首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >化学公式理解

化学公式理解
EN

Stack Overflow用户
提问于 2022-06-16 15:19:29
回答 1查看 51关注 0票数 0

我正试图把一串类似于这个"N4++e=>N2+N2"的化学式转换成这个"N4+ + e => N2 + N2"。但我要处理的是"++“

我的代码现在看起来是这样的:

代码语言:javascript
复制
temp = "N4++e=>N2+N2"

lhs = temp.split("=>")[0]
rhs = temp.split("=>")[1]

# only showing code for the left hand side

temp = lhs.split("+")

temp1 = []
for i in range(len(temp)):
    if temp[i]=='':
        temp1[i-1] = temp[i-1] + "+"
    else:
        temp1.append(temp[i]) 

lhs = temp1

在这段代码之后,我得到了类似于lhs = 'N4+','e‘的东西,我可以按我想要的方式把它组合在一起。

但是否有更好、更快的替代方案?我可以有相当长的化学反应清单。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-16 17:00:34

我可能建议通过多个replace操作来实现这一点,例如:

代码语言:javascript
复制
temp = "N4++e=>N2+N2"
print(temp.replace("+", " + ").replace(" +  +", "+ +").replace("=>", " => "))
# N4+ + e => N2 + N2

尽管如此,对于您可能得到的输入类型和您想要实现的结果,这做了很多假设。为了获得更健壮的解决方案,您可能需要考虑编写一个lexer (例如,使用铺层)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72648185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档