当前位置: 首页 > 面试题库 >

如何将字符串字典转换为Python字典?

阎辰钊
2023-03-14
问题内容

我有以下字符串,这是一个字符串化的Python字典:

some_string = '{123: False, 456: True, 789: False}'

如何从上述字符串中获取Python字典?


问题答案:

好吧,你可以做

d = eval(some_string)

但是,如果字符串包含用户输入,则是个坏主意,因为表达式中可能包含一些随机的恶意函数。

因此,更安全的选择可能是:

import ast
d = ast.literal_eval(some_string)

来自http://docs.python.org/library/ast.html#ast.literal_eval:

提供的字符串或节点只能由以下Python文字结构组成:字符串,数字,元组,列表,字典,布尔值和无。



 类似资料:
  • 问题内容: 我有一个程序可以从套接字读取xml文档。我将xml文档存储在一个字符串中,我想将其直接转换为Python字典,就像在Django的库中一样。 举个例子: 然后看起来像 问题答案: 这是某人创建的一个很棒的模块。我已经使用过几次了。 http://code.activestate.com/recipes/410469-xml-as- dictionary/ 这是网站上的代码,以防万一链接

  • 问题内容: 我想在我的swift项目中做一个将String转换成Dictionary json格式的函数,但是出现一个错误: 无法转换表达式的类型(@lvalue NSData,options:IntegerLitralConvertible … 这是我的代码: 我在Objective-C中实现此功能: 问题答案: 警告:如果出于某种原因必须使用JSON字符串,这是将JSON字符串转换为字典的便捷

  • 问题内容: 我有unicode ,我希望它以字典格式。 我想要它的格式。 我试过了,但它返回的字符串不是字典。 谁能帮我? 问题答案: 您可以使用内置包: 帮助ast模块中的literal_eval函数: literal_eval(node_or_string) 安全地评估表达式节点或包含Python表达式的字符串。提供的字符串或节点只能由以下Python文字结构组成:字符串,数字,元组,列表,字

  • 问题内容: 我正在编写一个将数据存储在字典对象中的程序,但是该数据需要在程序执行过程中的某个时候保存,并在再次运行该程序时重新加载到字典对象中。我如何将字典对象转换为可以写入文件并再加载回字典对象的字符串?希望这将支持包含词典的词典。 问题答案: json模块是一个很好的解决方案。与pickle相比,它的优势在于它仅生成纯文本输出,并且是跨平台和跨版本的。

  • 问题内容: 如何将的表示形式(例如以下字符串)转换为? 我宁愿不使用。我还能使用什么? 造成这种情况的主要原因是他写的我的同事课程之一,将所有输入都转换为字符串。我不打算去修改他的课程,以解决这个问题。 问题答案: 从Python 2.6开始,你可以使用内置的: 这比使用更为安全eval。正如其自己的文档所说: 例如:

  • 问题内容: 我有一个清单 我想将其转换为字典 我该怎么做? 问题答案: 采用: 返回: 如果需要整数,请在以下位置更改分配: 这将给出: