如何将化学元素组成的字符串拆分得到单独原子构成的列表
化学式字符串拆分方案
核心思路
所有化学元素符号都遵循统一命名规则:首字符为大写英文字母,若存在第二个字符则必为小写英文字母,按该规则遍历字符串拆分即可实现需求。
实现代码(Python示例)
def split_formula(formula: str) -> list: res = [] i = 0 formula_len = len(formula) while i < formula_len: # 判断下一位是否为小写字母,是则拼接两位作为一个元素 if i + 1 < formula_len and formula[i+1].islower(): res.append(formula[i:i+2]) i += 2 else: res.append(formula[i]) i += 1 return res # 测试示例 structuralFormula1 = 'OCaOSeOO' structuralFormula1_list = split_formula(structuralFormula1) print(structuralFormula1_list) # 输出结果:['O', 'Ca', 'O', 'Se', 'O', 'O']
注意事项
- 本方案适用于不带下标、括号、电荷等特殊符号的纯元素字符串拆分,若化学式包含上述特殊结构,可在此基础上扩展对应匹配逻辑。
- 仅支持符合IUPAC元素符号命名规范的输入,异常格式输入可能返回错误结果。
内容的提问来源于stack exchange,提问作者Fedra Herman
相关产品推荐
相关产品推荐

