You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按多分隔符拆分文本并将月球大气成分数据存入Python字典

月球大气成分字典读取方案

完整实现代码

import re

def read_data(filename):
    atm_dict = {}
    with open(filename, "r") as infile:
        # 跳过第一行表头
        next(infile)
        for line in infile:
            # 按;和-拆分,同时去除前后多余空格
            parts = re.split(r'\s*[;-]\s*', line.strip())
            # 步长为2遍历:偶数位是元素名,奇数位是含量值
            for i in range(0, len(parts), 2):
                element = parts[i].upper()
                # 去掉含量中的千位分隔逗号,转成整数
                content = int(parts[i+1].replace(',', ''))
                atm_dict[element] = content
    # 输出验证
    for key, value in atm_dict.items():
        print(f"{key}: {value}")
    return atm_dict

read_data("atm_moon.txt")

问题对应解答

  • 问题1:同时按-和;两种分隔符拆分文本
    可以用Python标准库re模块的split方法,支持传入正则表达式匹配多个分隔符。示例里的r'\s*[;-]\s*'规则说明:[;-]匹配两种分隔符中的任意一种,前后的\s*会自动匹配分隔符前后的空白字符,不需要额外做空格去除处理。
  • 问题2:优雅生成元素-含量的字典键值对
    拆分后得到的列表按[元素1, 含量1, 元素2, 含量2...]的规律排列,只要按步长为2遍历列表,分别取对应位置的内容作为键和值即可,同时对含量做格式化处理:去掉千位分隔的逗号,转成整数类型。
  • 问题3:元素名转全大写
    直接调用Python字符串内置的upper()方法,即可把元素名称的所有字符转为大写格式,符合要求的键名格式。

内容的提问来源于stack exchange,提问作者fredericoamigo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 21:15:04