如何将字符串'[1, 2]'转换为List类型的[1,2]
将字符串 '[1, 2]' 转换为列表 [1,2] 的方法
这里提供几种实用的实现方式:
方法一:使用 ast.literal_eval(推荐)
这是最安全的方案,仅解析合法的Python字面量,不会执行恶意代码:
import ast str_data = '[1, 2]' list_data = ast.literal_eval(str_data) print(list_data) # 输出: [1, 2] print(type(list_data)) # 输出: <class 'list'>
方法二:使用 json.loads
若字符串格式符合JSON规范(元素为数字、基础字符串等),可借助JSON模块解析:
import json str_data = '[1, 2]' list_data = json.loads(str_data) print(list_data) # 输出: [1, 2]
方法三:手动处理字符串
无需依赖模块时,可手动清理格式后转换类型(仅适用于简单格式):
str_data = '[1, 2]' trimmed = str_data.strip('[]') # 去除首尾方括号 str_elements = trimmed.split(',') # 按逗号分割 list_data = [int(element.strip()) for element in str_elements] # 转整数 print(list_data) # 输出: [1, 2]
注意:手动处理仅适配结构简单的字符串,若包含嵌套列表、带逗号的字符串等复杂内容,容易出错,优先推荐前两种方法。
内容的提问来源于stack exchange,提问作者Iqbal Hussain
相关产品推荐
相关产品推荐

