如何删除引号并在python中检索列表?

时间:2017-07-26 06:09:32

标签: python string list itertools

我有一个像这样的字符串列表:

"['USA', 'Canada', 'Mexico', 'Brazil']"

我想从字符串中检索列表,如下所示:

['USA', 'Canada', 'Mexico', 'Brazil']

我该怎么做? Itertools或list函数没有给我正确的结果。 感谢

2 个答案:

答案 0 :(得分:4)

您可以使用eval

将字符串评估为列表
 eval('["USA", "Canada", "Mexico", "Brazil"]')

在python shell上执行此操作,给出一个列表:

>>> eval('["USA", "Canada", "Mexico", "Brazil"]')
['USA', 'Canada', 'Mexico', 'Brazil']
>>> 

答案 1 :(得分:2)

您可以使用literal_eval模块中的ast,例如:

from ast import literal_eval as le
data = le('["USA", "Canada", "Mexico", "Brazil"]')
print(data)

输出:

['USA', 'Canada', 'Mexico', 'Brazil']

另外,请勿使用eval(),而是使用literal_eval()。有关详细信息,请参阅此answer