如何使用Python内置函数将输入的二维数组字符串转为二维列表?
将输入的二维数组字符串转为Python列表的方法
有几种内置函数/标准库方法可以实现这个需求,具体如下:
- 使用内置函数
eval()
这是最直接的方式,直接解析输入的字符串为Python对象:
input_str = input("输入二维数组: ") result = eval(input_str) print(type(result)) # 输出 <class 'list'>
⚠️ 注意:eval()会执行字符串中的任意Python代码,如果输入来自不可信的来源,存在安全风险,仅在输入完全可控时使用。
- 使用
ast.literal_eval()(推荐)
这个方法来自标准库ast,专门用于解析Python字面量,不会执行任意代码,安全性更高:
import ast input_str = input("输入二维数组: ") result = ast.literal_eval(input_str) print(type(result)) # 输出 <class 'list'>
它只处理字符串、数字、列表、字典、元组、布尔值和None这些合法的字面量,完全适配你这种二维数组的场景。
- 使用
json.loads()
如果输入的格式符合JSON规范(注意JSON要求用双引号),可以用标准库json来解析:
import json input_str = input("输入二维数组: ") # 若用户输入用了单引号,先替换成双引号(JSON仅支持双引号) input_str = input_str.replace("'", "\"") result = json.loads(input_str) print(type(result)) # 输出 <class 'list'>
这个方法同样安全,且兼容性好,适合处理可能带有JSON格式的输入。
内容的提问来源于stack exchange,提问作者Kumar
相关产品推荐
相关产品推荐

