将类似列表的字符串评估为字符串

时间:2020-02-07 00:26:34

标签: python string list

说我有一个看起来像这样的字符串:

    x = "['345565', '1234213', '12313523', '1232346345', '1223123']"

在Python或numpy中是否有内置方法可用于自动将其转换为列表?我对eval()方法很熟悉,我正在寻找的是相同的想法。

3 个答案:

答案 0 :(得分:3)

可以吗?

import ast
x = "['345565', '1234213', '12313523', '1232346345', '1223123']"
print(ast.literal_eval(x))

答案 1 :(得分:1)

您可以使用内置库ast中的python。 ast docs

>>> import ast
>>> x = "['345565', '1234213', '12313523', '1232346345', '1223123']"
>>> x_array = ast.literal_eval(x)
>>> print(x_array)
['345565', '1234213', '12313523', '1232346345', '1223123']
>>> type(x_array)
<class 'list'>
>>> x_array
['345565', '1234213', '12313523', '1232346345', '1223123']

答案 2 :(得分:1)

您还可以使用json模块,但是必须将单引号替换为双引号以使其合法json:

import json
x = "['345565', '1234213', '12313523', '1232346345', '1223123']"
json.loads(x.replace("'", '"'))
相关问题