NumPy数组转列表应使用.tolist()方法,1. 一维数组转换为普通列表;2. 二维数组转换为嵌套列表;3. 与list()不同,tolist()生成纯Python数据类型;4. 转换后int64变int,float64变float,适配标准库。
在 Python 的 NumPy 中,将数组(array)转换为列表(list)非常简单,可以直接使用 .tolist() 方法完成。
.tolist() 是 NumPy 数组对象自带的方法,能将整个 array 转换为 Python 的 list,支持多维数组。
一维数组示例:import numpy as np arr = np.array([1, 2, 3]) lst = arr.tolist() print(lst) # 输出: [1, 2, 3]
二维数组示例:
arr = np.array([[1, 2], [3, 4]]) lst = arr.tolist() print(lst)# 输出: [[1, 2], [3, 4]]
虽然可以使用 list(arr) 将数组转为列表,但效果不同:
对比示例:
arr = np.array([[1, 2], [3, 4]])print(arr.tolist()) # [[1, 2], [3, 4]] —— 正确的嵌套列表 print(list(arr)) # [array([1, 2]), array([3, 4])] —— 不是纯 Python list
转换后数据类型也会变为原生 Python 类型:
这对于与标准库或 JSON 等模块交互时很有帮助,因为它们通常不接受 NumPy 数据类型。
基本上就这些。用 .tolist() 是最推荐、最安全的方式。