小编典典

如何将字符串解析为字典

python

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

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')}

阅读 174

收藏
2021-01-20

共1个答案

小编典典

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')]]
2021-01-20