Python|将字符串封闭列表转换为列表
给定一个包含在字符串(或引号)中的列表,编写一个Python程序将给定的字符串转换为列表类型。
例子:
Input : "[0, 2, 9, 4, 8]"
Output : [0, 2, 9, 4, 8]
Input : "['x', 'y', 'z']"
Output : ['x', 'y', 'z']
方法 #1: Python eval()
eval()
方法解析传递给该方法的表达式并在程序中运行Python表达式(代码)。在这里,它将包含在引号中的列表作为表达式并运行它,最后返回列表。
# Python3 program to ways to convert
# list enclosed within string to list
def convert(lst):
return eval(lst)
# Driver code
lst = "[0, 2, 9, 4, 8]"
print(convert(lst))
输出:
[0, 2, 9, 4, 8]
方法 #2:使用literal_eval()
literal_eval()函数的工作方式与eval()
相同,唯一的区别是如果输入不是有效的Python数据类型,它会引发异常,代码将不会被执行。
# Python3 program to ways to convert
# list enclosed within string to list
from ast import literal_eval
def convert(lst):
return literal_eval(lst)
# Driver code
lst = "[0, 2, 9, 4, 8]"
print(convert(lst))
输出:
[0, 2, 9, 4, 8]
方法 #3:使用json.loads()
# Python3 program to ways to convert
# list enclosed within string to list
from json import loads
def convert(lst):
return loads(lst)
# Driver code
lst = "[0, 2, 9, 4, 8]"
print(convert(lst))
输出:
[0, 2, 9, 4, 8]