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

Python新手求助:如何将'{x:=1, y=2, z=3}'字符串转为Python对象?

解决方法

你的字符串既不是标准JSON格式,也不是合法的Python字典字面量,所以json.loads()无法处理。可以按照以下步骤转换:

方法一:修正字符串格式后用安全解析工具

  1. 先把字符串里的:=替换成:,再把剩下的=替换成:,将其转为合法的Python字典格式
  2. 使用ast.literal_eval()解析(比eval()更安全,不会执行恶意代码)

示例代码:

import ast

original_str = '{x:=1, y=2, z=3}'
# 修正格式:先处理 := ,再替换 = 为 :
fixed_str = original_str.replace(':=', ':').replace('=', ':')
# 解析为Python字典
python_obj = ast.literal_eval(fixed_str)
print(python_obj)  # 输出: {'x': 1, 'y': 2, 'z': 3}

为什么json.loads()会报错?

JSON有严格的语法要求:

  • 所有键必须用双引号包裹(比如"x":1,而不是x:1)
  • 键值对之间只能用冒号:分隔,不允许:=或=
    你的字符串完全不符合这些规则,所以json.loads()无法识别。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 07:05:51