4

解析:编写一个函数,该函数将接受一个表示化学物种的字符串并返回一个由元素和相应下标组成的元组列表。在没有下标的情况下,下标应为 1。示例:使用以下输入调用您的函数:

H2SO4

应返回以下输出:

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

所以我正在尝试做一个项目,但我不知道如何开始它

谁能帮助我如何开始?

4

1 回答 1

10

以下将带您完成 90% 的过程:

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

剩下的 10% 留给读者作为练习(毕竟这是作业)。

提示:一个简单的列表推导可以完成剩下的工作。

于 2012-12-17T22:33:53.843 回答