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

Python中如何将字符串形式的列表/字典内容转换为实际可操作对象

解决方案

这里有两种安全可靠的实现方式,都可以直接把字符串转换成和手动输入完全一致的Python对象:

方法1:使用ast.literal_eval(最推荐,安全不会执行任意代码)

这是Python官方提供的专门用于将Python字面量字符串转为对应对象的工具,不会像eval()一样存在代码注入风险。
代码示例:

import ast

a_str = "{'1-3': [], '3-6': [47.4], '6-8': [], '8-12': [], '12-18': [], '18-25': [], '25-35': [], '35-55': [], '>55': []}"
# 提取内部字典对象
dict_obj = ast.literal_eval(a_str)
# 外层套列表即可得到和手动输入完全一致的结构
a = [dict_obj]

方法2:使用json模块处理(仅适用于无内嵌特殊字符的场景)

你的字符串内容本身符合JSON结构要求,只是默认用了单引号,替换成双引号后就可以用json模块解析:
代码示例:

import json

a_str = "{'1-3': [], '3-6': [47.4], '6-8': [], '8-12': [], '12-18': [], '18-25': [], '25-35': [], '35-55': [], '>55': []}"
# 替换单引号为双引号后解析
dict_obj = json.loads(a_str.replace("'", '"'))
# 套列表得到完全一致的结构
a = [dict_obj]

注意:该方法仅适用于字符串内没有内嵌单引号、转义字符的场景,如果内容结构更复杂,优先使用ast.literal_eval方法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 03:15:03