欢迎点击「算法与编程之美」↑关注我们!
本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。
在平时用python做开发或者阅读流行的开源框架的源码的时候,经常会看到一些代码将普通的列表list()类型转化为numpy的array(),如下所示:
import numpy as np
a = [1,2,3,4,5]
b = np.array(a)
type(b) #numpy.ndarray
变量a是一个常见的Python列表类型,通过numpy.array()方法将该列表转化为了一个ndarray类型。为什么很多代码都会出现这样的操作?转化之后的numpy.array类型又会带来哪些好处呢?
对于列表或者一维数组来说,最常见的一些操作就是求列表的最大值、最小值、最大值下标、最小值下标、均值等操作。
对于列表类型来说,这些常见的操作都需要自己编写代码完成,那么每一个常见操作都将对应一段代码,非常的麻烦,不便于开发。
反之,假如能够将list类型转换为numpy.ndarray类型,那么该类型将提供非常丰富的方法快速的实现常见的操作。
下面代码是将列表转化为numpy.ndarray后支持的一些常用操作,根据方法名即可快速了解其含义。
b.max() # 5
b.min() # 1
b.argmax() # 4
b.argmin() # 0
b.sum() # 15
b.mean() # 3.0
# ...
除了上面支持的一些常见操作外,还支持很多其他的操作,具体的可以查看官方的API列表,后续博客对于一些重要的方法也将做详细的介绍。
从上面的案例分析讲解,大家可以看到为什么会将普通的列表类型转换为numpy.ndarray类型了,很重要的原因在于这种转化后,numpy.ndarray提供了很多常见的方法,使得我们不必自己编写代码就可以实现常见操作。