python中list, array的转换

简介在python中,list无疑是最强大和最常用的一个数据类型。但是在编写一些数据型操作的时候,比如矩阵乘法或者其它的操作的时候,就需要我们用到array类型。 这个时候,也常常牵涉到如何进行list与array的转换?转换非常简单,如下 import numpy as np list_temp = [[1,2,3],[4,5,6]] 上面的list_temp就是一个list类型,如果要进行numpy的一些数值运算,我们就需要将它转换为array类型。 转换如下: import nump
在python中,list无疑是最强大和最常用的一个数据类型。但是在编写一些数据型操作的时候,比如矩阵乘法或者其它的操作的时候,就需要我们用到array类型。
这个时候,也常常牵涉到如何进行list与array的转换?转换非常简单,如下

import numpy as np
list_temp = [[1,2,3],[4,5,6]]
上面的list_temp就是一个list类型,如果要进行numpy的一些数值运算,我们就需要将它转换为array类型。
转换如下:

import numpy as np
list_temp = [[1,2,3],[4,5,6]]
list_temp = np.array(list_temp)
print list_temp
上面的list_temp就变成了array类型了。
这里说一个我原来碰到的小trick,就是在list转换为array的过程中,当list的维度不一样的时候,array并不能将其解释为数组形式,而是解释为一个object类型。

比如说如下:

import numpy as np
list_temp = [[1,2,3],[4,5,6,7]]
list_temp = np.array(list_temp)
print list_temp.shape
这个时候打印出的list_temp.shape并不是(2L,3L),而是(2L,)并没有第二维了。因为你俩个维度的数个数是不一样的。
这个时候就将[1,2,3]解释为一个object,将[4,5,6,7]解释为一个object,上面的(2L,)就是相当于俩行,没有第二列。

而不是像将[1,2,3],[4,5,6]解释为2维三列的数组。
本文转自:https://zhuanlan.zhihu.com/p/26988972
新加评论 评论标题: