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

如何将代表嵌套列表的字符串解析为实际列表?

凤高澹
2023-03-14
问题内容

假设我有一个表示某些嵌套列表的字符串,我想将其转换为真实的东西。我认为可以做到这一点:

exec "myList = ['foo', ['cat', ['ant', 'bee'], 'dog'], 'bar', 'baz']"

但是在用户可能提供字符串来执行的环境中,这可能是/将不是一个好主意。是否有人对完成相同任务的整洁解析器有任何想法?


问题答案:

import ast
>>> mylist = ast.literal_eval(“[‘foo’, [‘cat’, [‘ant’, ‘bee’], ‘dog’], ‘bar’, ‘baz’]”)
>>> mylist
[‘foo’, [‘cat’, [‘ant’, ‘bee’], ‘dog’], ‘bar’, ‘baz’]


ast.literal_eval:

安全地评估表达式节点或包含Python表达式的字符串。提供的字符串或节点只能由以下Python文字结构组成:字符串,数字,元组,列表,字典,布尔值和无。

这可用于安全地评估包含来自不受信任来源的Python表达式的字符串,而无需自己解析值。



 类似资料:
  • 问题内容: 我有一个代表列表的字符串: 我想把那些乱七八糟的字符串变成一个实际的清单。我想可以将数字进行正则表达式并循环到(),但是有没有更简单的方法?不知道如何将其设置为正则表达式。 问题答案: 使用ast.literal_eval。

  • 我有一个json文件。 我需要将它转换为String的ArrayList。如何使用Jackson库? UPD2:

  • 如何解析嵌套列表的JSON字符串以在pyspark中触发数据帧? 输入数据帧: 预期产出: 示例代码: 有几个例子,但我不知道如何做到这一点: > < li> 如何在pyspark中解析和转换spark数据帧行中的json字符串 如何从pyspark中的spark数据帧行转换具有多个键的JSON字符串?

  • 我有一个DTO列表,我需要将这个DTO映射到两个不同的实体对象列表。我不熟悉Java和Springboot。我找到了两个DTO映射到一个实体对象的示例。例如http://modelmapper.org/getting-started/ 个人实体- 地址实体- DTO: 我需要将上面的DTO列表映射到下面的实体对象列表: 我如何映射一个列表的人的DTO到列表的人和列表的地址?

  • 问题内容: 我需要能够像这样的字符串: 变成: 我有种感觉(有#python的提示),该解决方案将涉及shlex模块。 问题答案: shlex模块解决方案允许转义的引号,一个引号的转义和所有花哨的东西外壳程序支持。 转义引号示例:

  • 问题内容: 如何使用Python将列表转换为字符串? 问题答案: 通过使用 或者,如果列表是整数,则在连接元素之前将其转换。