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

Python如何将动态格式字符串拆分解析为键值对字典

实现方案

核心思路

你已经选对了正则拆分的方向,只需要对拆分结果做键值配对即可,我们可以直接优化正则匹配规则,一次性拿到「字母键-数字值」的元组对,减少后续处理步骤:

  • 正则规则调整为 r'([A-Za-z]+)(\d+)',直接匹配连续字母+连续数字的组合,re.findall 执行后会返回所有匹配到的(键, 数值字符串)元组
  • 遍历元组列表,把数值字符串转成整型,逐个填入字典即可

完整可运行代码

import re

def size_str_to_dict(size_str):
    # 直接匹配所有(字母键, 数值)元组
    match_pairs = re.findall(r'([A-Za-z]+)(\d+)', size_str)
    # 转为字典,值转整型
    return {key: int(value) for key, value in match_pairs}

# 测试用例
test_cases = ["S31", "S4", "S2M1L10XL8", "S1M2L0XL0", "S0M5L6XL8"]
for case in test_cases:
    print(f"{case} 转换结果:{size_str_to_dict(case)}")

运行输出

S31 转换结果:{'S': 31}
S4 转换结果:{'S': 4}
S2M1L10XL8 转换结果:{'S': 2, 'M': 1, 'L': 10, 'XL': 8}
S1M2L0XL0 转换结果:{'S': 1, 'M': 2, 'L': 0, 'XL': 0}
S0M5L6XL8 转换结果:{'S': 0, 'M': 5, 'L': 6, 'XL': 8}

内容的提问来源于stack exchange,提问作者Daniel Henríquez Sandoval

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 14:06:03