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

如何将含整数键的字符串字典转换为Python字典?

解决思路

方法一:用ast.literal_eval(优先选这个)

这是Python标准库专门用来解析Python字面量的工具,完全支持整数键的字典。你之前没成功大概率是字符串有隐性格式问题(比如不可见字符、全角符号),先试试标准写法:

import ast
str_data = "{70: True, 956: False, 727: False}"
result_dict = ast.literal_eval(str_data)
print(result_dict)
# 输出:{70: True, 956: False, 727: False}

如果还是报错,先把字符串里的多余空格、换行、制表符清干净,再重新尝试。

方法二:手动解析(ast失效时备用)

要是ast确实用不了,就自己拆分字符串处理,适合格式固定的场景:

str_data = "{70: True, 956: False, 727: False}"
# 去掉首尾大括号
clean_str = str_data.strip("{}")
# 分割成单个键值对
kv_pairs = clean_str.split(",")
result_dict = {}
for pair in kv_pairs:
    # 分割键和值,处理空格
    key_part, value_part = pair.split(":")
    key = int(key_part.strip())
    # 把字符串转成布尔值
    value = value_part.strip() == "True"
    result_dict[key] = value
print(result_dict)

为啥json.loads用不了?

JSON语法强制要求对象的键必须是双引号包裹的字符串,你的字符串里键是无引号的整数,不符合JSON规范,所以json.loads直接报错,没必要硬用这个方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 19:22:43