将字符串类型dict转换为python dict

问题描述 投票:-1回答:1

假设我有一个名为'ds'的字符串变量。

ds="{'a': 1, 'b':2}"

我想将它存储在另一个名为'do'的变量中。

do=some_function(ds)

这样,当我这样做时,

print(do['a'])

我的输出应该是1

那么我如何使用构建函数或一些小代码中的一些呢?

python-3.x dictionary
1个回答
1
投票
import ast
ds="{'a': 1, 'b':2}"
do=ast.literal_eval(ds)
print(do['a'])

ast - 抽象语法树

ast模块帮助Python应用程序处理Python抽象语法语法的树。每个Python版本的抽象语法本身都可能会改变;这个模块有助于以编程方式找出当前语法的样子。

ast.literal_eval(node_or_string)

安全地评估包含Python文字或容器显示的表达式节点或Unicode或Latin-1编码的字符串。提供的字符串或节点可能只包含以下Python文字结构:字符串,数字,元组,列表,dicts,布尔值和None。

这可用于安全地评估包含来自不受信任来源的Python值的字符串,而无需自己解析值。它无法评估任意复杂的表达式,例如涉及运算符或索引。

链接文档

https://docs.python.org/2/library/ast.html

© www.soinside.com 2019 - 2024. All rights reserved.