如何将被识别为字符串的字典格式输入设置为dictionary类型
Python字典格式字符串转字典类型操作流程
方法1:使用ast.literal_eval(推荐,安全通用)
- 导入Python标准库ast模块
import ast - 调用
ast.literal_eval()方法传入目标字符串完成转换,示例代码如下:
# 模拟你拿到的字符串类型输入 str_input = "{'Name':'Rick', 'Country':'UK'}" # 转换为字典 dict_output = ast.literal_eval(str_input)
- 验证转换结果:执行
print(type(dict_output)),输出为<class 'dict'>即操作完成
注意:该方法仅会解析Python合法字面量结构,不会执行任意代码,安全度高,适配绝大多数场景
方法2:使用json.loads(仅适用于无内嵌单引号的场景)
- 导入Python标准库json模块
import json - 先将字符串内的单引号全部替换为JSON规范要求的双引号,再调用
json.loads()完成转换,示例代码如下:
str_input = "{'Name':'Rick', 'Country':'UK'}" # 先替换单引号为双引号再转换 dict_output = json.loads(str_input.replace("'", '"'))
- 验证转换结果:执行
print(type(dict_output))确认类型正确
注意:如果原字符串的value值本身包含单引号,直接替换会破坏结构导致转换失败,该场景下不要使用该方法
内容的提问来源于stack exchange,提问作者kirihadinomoyet
相关产品推荐
相关产品推荐

