📌  相关文章
📜  Python|将字符串封闭列表转换为列表

📅  最后修改于: 2022-05-13 01:55:32.825000             🧑  作者: Mango

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]