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

如何将字符串解析为字典

裴甫
2023-03-14
问题内容

我试图解析一个字符串,以分隔字符串中的列表。我目前有字符串:

string = "[['q1', '0', 'q1'], ['q1', '1', 'q2'], ['q2', '0', 'q2'], ['q2', '1', 'q1']]"

有什么方法可以解析字符串,以便字典键是列表的第一个元素,而键的值是元素的下一个。例如:

{'q1': ('0','q1'), 'q1': ('1','q2'), 'q2': ('0','q2'), 'q2': ('1', 'q1')}

问题答案:

insted的的dictionary,你可以有列表:
您可以使用ast.literal_eval从字符串解析Python数据结构

>>> import ast
>>> my_string = "[['q1', '0', 'q1'], ['q1', '1', 'q2'], ['q2', '0', 'q2'], ['q2', '1', 'q1']]"
>>> k = ast.literal_eval(my_string)
>>> k
[['q1', '0', 'q1'], ['q1', '1', 'q2'], ['q2', '0', 'q2'], ['q2', '1', 'q1']]
>>> [[x[0],tuple(x[1:])] for x in k]
[['q1', ('0', 'q1')], ['q1', ('1', 'q2')], ['q2', ('0', 'q2')], ['q2', ('1', 'q1')]]


 类似资料:
  • 问题内容: 我有这个字符串:10,692,467,440,017.120(是一个数字)。 我想将其解析为BigDecimal。问题是我没有尝试过DecimalFormat和NumbeFormat。有什么帮助吗? 问题答案: 试试这个 如果要构建具有I18N支持的应用程序,则应使用 还请记住,它可能会引发a,因此您需要处理它(使用try / catch)或引发它,然后让程序的另一部分处理它

  • 问题内容: 我有一个弦 然后,我想将其解析为sqlDate。并将其插入数据库。 是否可以将该字符串解析为sqlDate?!?! 是的,SQL日期格式为“ yyyy-mm-dd” 问题答案: 用于将String日期解析为java.util.Date 然后使用millis将其转换为java.sql.Date

  • 问题内容: 我有一个将存储Number对象的列表。该列表将通过分析字符串列表来填充,其中每个字符串都可以表示Number的任何子类。 如何将字符串解析为通用数字,而不是特定的整数或浮点数? 问题答案: 数字不能实例化,因为它是抽象类。我建议传入数字,但是如果您设置为字符串,则可以使用任何子类来解析它们, 要么 @请参阅NumberFormat

  • 我想将或这样的字符串解析为整数和双精度。用Dart怎么做?

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

  • 我如何能使这工作? 它会给出以下错误: "无效的日期格式31.01.2020 00:00:00"