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

如何将特定格式的Python字符串智能转换为Python字典?

如何将"name=text;name2=text2;name3=text3"格式的字符串转为Python字典?

首先明确:json.loads并不适用这个场景,因为你给出的格式不是标准JSON格式——JSON要求键值对用双引号包裹、键值对之间用逗号分隔,和这种key=value;的格式不兼容,直接调用json.loads会抛出解析错误。

你当前找到的方案是可行的,它通过嵌套生成器表达式完成拆分与转换:

result = dict((a.strip(), b.strip())  
     for a, b in (element.split('=')  
           for element in original_text.split(';')))

如果你的Python版本在2.7及以上,推荐用字典推导式改写,代码更简洁直观:

original_text = "name=text;name2=text2;name3=text3"
result = {a.strip(): b.strip() for a, b in (elem.split('=') for elem in original_text.split(';'))}

另外,如果你需要处理值中包含=的情况(比如"name=foo=bar;age=20"),或者避免因部分元素没有=导致的报错,可以做更健壮的处理:

result = {}
for elem in original_text.split(';'):
    if '=' in elem:
        # 只拆分第一个=,防止值里的=被误拆分
        key, value = elem.split('=', 1)
        result[key.strip()] = value.strip()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 17:52:05