我试图解析一个字符串,以分隔字符串中的列表。我目前有字符串:
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数据结构
dictionary
ast.literal_eval
>>> 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')]]