list 与 numpy.ndarray互转

一. python中 list 与数组的互相转换

(1)list转array

    np.array(a)

(2)array 转list

    a.tolist()

二.区别

python中的二维数组,主要有 list(列表) 和 numpy.ndarray(多维数组) 两种, 两种的区别主要体现在numpy.ndarray 支持更多的索引方式,下面通过代码来看一下两种数据类型索引方式的区别:

import numpy as np
a=[[1,2,3], [4,5,6]]
type(a)
<type 'list'>
a
[[1, 2, 3], [4, 5, 6]]
b=np.array(a)
type(b)
<type 'numpy.ndarray'>
b
array([[1, 2, 3],
       [4, 5, 6]])

接着对a 和b 中的元素进行访问:

a[1]
[4, 5, 6]
b[1]
array([4, 5, 6])
a[1][1]
5
b[1][1]
5
a[1][:]
[4, 5, 6]
b[1][:]
array([4, 5, 6])
#下面就是两者的区别
a[1,1]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: list indices must be integers, not tuple
b[1,1]
5
a[:,1]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: list indices must be integers, not tuple
b[:,1]
array([2, 5])

可以看到numpy.ndarray 比list的访问方式更灵活,因此在处理数据时,可以通过np.array()方便的将list转化为numpy.ndarray, 当然处理完后还可以通过tolist()将ndarray再转回列表,从而方便删除或添加元素。

import numpy as np
a=[[1,2,3],[4,5,6]]
type(a)
<type 'list'>
b=np.array(a)
type(b)
<type 'numpy.ndarray'>
c=b.tolist()
type(c)
<type 'list'>



作者:素娜93
链接:https://www.jianshu.com/p/f8e6a0a6399f
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值