ast.literal_eval 不工作(python 列表字符串)
ast.literal_eval not working (python string of list to list)
我正在尝试将列表的以下字符串转换回列表。
[('zX7XjZ1Vwai5UbqNDDJ1NQ', 570512, [155])]
我已经尝试了 eval()
和 ast.literal_eval
但由于某种原因,当我打印转换后的字符串类型时它仍然是一个字符串(但引号被删除)
我也试过使用json.loads()
看来无论我怎么努力,我都无法将这个列表字符串转换为python列表!
您可能有一组额外的引号,但未在问题中显示,包含在您正在评估的文字中:
[('zX7XjZ1Vwai5UbqNDDJ1NQ', 570512, [155])]
是一个列表,而:
"[('zX7XjZ1Vwai5UbqNDDJ1NQ', 570512, [155])]"
是一个字符串。
因此,
ast.literal_eval("[('zX7XjZ1Vwai5UbqNDDJ1NQ', 570512, [155])]")
returns 一个列表,而:
ast.literal_eval('''"[('zX7XjZ1Vwai5UbqNDDJ1NQ', 570512, [155])]"''')
returns 一个字符串。在这些编写为 Python 源代码的示例中,嵌套引号变得冗长,但也许您已经从文件中读取了 "[('zX7XjZ1Vwai5UbqNDDJ1NQ', 570512, [155])]"
。
我正在尝试将列表的以下字符串转换回列表。
[('zX7XjZ1Vwai5UbqNDDJ1NQ', 570512, [155])]
我已经尝试了 eval()
和 ast.literal_eval
但由于某种原因,当我打印转换后的字符串类型时它仍然是一个字符串(但引号被删除)
我也试过使用json.loads()
看来无论我怎么努力,我都无法将这个列表字符串转换为python列表!
您可能有一组额外的引号,但未在问题中显示,包含在您正在评估的文字中:
[('zX7XjZ1Vwai5UbqNDDJ1NQ', 570512, [155])]
是一个列表,而:
"[('zX7XjZ1Vwai5UbqNDDJ1NQ', 570512, [155])]"
是一个字符串。
因此,
ast.literal_eval("[('zX7XjZ1Vwai5UbqNDDJ1NQ', 570512, [155])]")
returns 一个列表,而:
ast.literal_eval('''"[('zX7XjZ1Vwai5UbqNDDJ1NQ', 570512, [155])]"''')
returns 一个字符串。在这些编写为 Python 源代码的示例中,嵌套引号变得冗长,但也许您已经从文件中读取了 "[('zX7XjZ1Vwai5UbqNDDJ1NQ', 570512, [155])]"
。