Python中将字符串类型list转换成list

python读取了一个类似list的字符串形式为’[168, 169, 170, 171, 172, 174, 185, 187, 159]’,想将其转换成list类型,有两种方式:

1. 使用ast包:ast是python源码到字节码的一种中间产物,借助ast模块可以从语法树的角度分析源码结构。
代码如下:

data_json = ast.literal_eval(data)

2. 使用json包:json指的是 JavaScript 对象表示法(JavaScript Object Notation);json 是轻量级的文本数据交换格式。是用来存储和交换文本信息的语法。json.loads 将已编码的 JSON 数据解码为 Python 对象,更多介绍见[https://baijiahao.baidu.com/s?id=1608641697905125479&wfr=spider&for=pc)
代码如下:

data_json = json.loads(data)

以ast方法,实现’[168, 169, 170, 171, 172, 174, 185, 187, 159]'如下:

import ast

data = "[168, 169, 170, 171, 172, 174, 185, 187, 159]"
print(type(data))  # 输出原始数据的类型
data_new = ast.literal_eval(data)
print(type(data_new))  # 输出新数据的类型
print(data_new)  # 输出转化为list的数据

输出结果:

<class 'str'>
<class 'list'>
[168, 169, 170, 171, 172, 174, 185, 187, 159]