简体   繁体   English

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

[英]How can I remove the quote marks and retrieve the list in python?

I have a list as a string like this: 我有一个像这样的字符串列表:

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

I want to retrieve the list from the string, like this: 我想从字符串中检索列表,如下所示:

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

How can I do that? 我怎样才能做到这一点? Itertools or list function have not given me the proper result. Itertools或list函数没有给我正确的结果。 Thanks 谢谢

you can evaluate the string to a list using eval : 您可以使用eval将字符串计算到列表:

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

Executing this on python shell, gives a list: 在python shell上执行此操作,给出一个列表:

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

You can use literal_eval from ast module like this example: 您可以使用ast模块中的literal_eval ,如下例所示:

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

Output: 输出:

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

Also, don't use eval() , use literal_eval() instead. 另外,不要使用eval() ,而是使用literal_eval() See this answer for more details. 有关详细信息,请参阅此答案

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM