Python 如何将array转换为list
在Python中,有时候我们会遇到将 array
转换为 list
的情况。array
是NumPy库中的一种数据结构,而 list
则是Python默认的数据结构之一。虽然 array
和 list
都可以存储多个值,但它们之间有一些区别。本文将详细介绍如何将 array
转换为 list
。
1. 使用tolist()方法
NumPy库中的 array
对象有一个内置的 tolist()
方法,可以将其转换为 list
对象。以下是转换过程的示例代码:
import numpy as np
# 创建一个array对象
arr = np.array([1, 2, 3, 4, 5])
# 将array转换为list
lst = arr.tolist()
# 输出转换结果
print(lst)
运行结果:
[1, 2, 3, 4, 5]
在上述示例中,我们首先使用 numpy.array()
函数创建了一个简单的 array
对象 arr
。然后,我们使用 tolist()
方法将其转换为 list
对象 lst
。最后,我们打印输出了转换结果。
2. 使用tolist()方法转换多维array
tolist()
方法同样适用于将多维 array
转换为多维 list
。以下是一个示例代码:
import numpy as np
# 创建一个多维array对象
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 将多维array转换为多维list
lst = arr.tolist()
# 输出转换结果
print(lst)
运行结果:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
在上述示例中,我们创建了一个包含多个子数组的多维 array
对象 arr
。然后,我们使用 tolist()
方法将其转换为多维 list
对象 lst
。最后,我们打印输出了转换结果。
3. 使用tolist()方法转换含有空值的array
如果 array
对象中包含空值 NaN
(Not a Number),我们同样可以使用 tolist()
方法将其转换为 list
对象。以下是一个示例代码:
import numpy as np
# 创建一个含有空值的array对象
arr = np.array([1, 2, np.nan, 4, 5])
# 将array转换为list,同时处理空值
lst = np.nan_to_num(arr).tolist()
# 输出转换结果
print(lst)
运行结果:
[1.0, 2.0, 0.0, 4.0, 5.0]
在上述示例中,我们创建了一个包含空值 NaN
的 array
对象 arr
。然后,我们使用 np.nan_to_num()
函数将空值转换为0,同时使用 tolist()
方法将其转换为 list
对象 lst
。最后,我们打印输出了转换结果。
4. 使用list()函数
除了使用 tolist()
方法外,我们还可以将 array
转换为 list
的另一种方法是使用内置的 list()
函数。以下是一个示例代码:
import numpy as np
# 创建一个array对象
arr = np.array([1, 2, 3, 4, 5])
# 将array转换为list
lst = list(arr)
# 输出转换结果
print(lst)
运行结果:
[1, 2, 3, 4, 5]
在上述示例中,我们使用 numpy.array()
函数创建了一个 array
对象 arr
。然后,我们使用内置的 list()
函数将其转换为 list
对象 lst
。最后,我们打印输出了转换结果。
5. 使用tolist()方法转换为二维list
如果我们的 array
对象是二维的,我们可以使用 tolist()
方法将其转换为二维 list
对象。以下是一个示例代码:
import numpy as np
# 创建一个二维array对象
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 将二维array转换为二维list
lst = arr.tolist()
# 输出转换结果
print(lst)
运行结果:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
在上述示例中,我们创建了一个二维 array
对象 arr
。然后,我们使用 tolist()
方法将其转换为二维 list
对象 lst
。最后,我们打印输出了转换结果。
总结
本文介绍了在Python中如何将 array
转换为 list
。我们可以使用 tolist()
方法将 array
转换为 list
,同时处理包含空值的情况。另外,我们还可以使用内置的 list()
函数进行转换。