解析化学式

时间:2012-12-17 22:31:20

标签: python parsing

解析:编写一个函数,它将采用代表化学物种的字符串 并返回由元素和相应下标组成的元组列表。在 如果没有下标,则下标应为1.示例:调用您的函数 输入:

H2SO4

应该返回输出:

[('H', 2), ('S', 1), ('O', 4)]

所以我正在尝试做一个项目,但我不确定如何启动它

任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:9)

以下内容将占据您的90%:

In [6]: re.findall(r'([A-Z][a-z]*)(\d*)', 'H2SO4')
Out[6]: [('H', '2'), ('S', ''), ('O', '4')]

其余10%留给读者练习(毕竟,这是作业)。

提示:简单的列表理解可以完成剩下的工作。