python中list和array的区别

numpy.array可以专门表示二维或多维数据

       b=np.array(a)

       >>b

            array=([[1,2,3],

                        [4,5,6],

                        [7,8,9]])

 

总结两点不同的地方:

1.元素类型

list是python的基本数据类型,它的元素类型可以不同。如:[1, 2, 'a', 3,4];

array是numpy的一种数据类型,所包含的元素类型必须相同。

在list中的数据类型保存的是数据的存放的地址,简单的说就是指针,并非数据,这样保存一个list就太麻烦了,例如list1=[1,2,3,'a']需要4个指针和四个数据,增加了存储和消耗cpu。

2.索引方式

在索引方式上,numpy.array支持比list更多的索引方式。

    list对应的索引方式:

    a[1][1] = 5

    a[1] = [4,5,6]

    a[1][:] = [4,5,6]

    a[1,1] 

    会报错,相当于被认为a[(1,1)]  ,即索引项被误认为是元组(1,1) ,报以下错误:

    TypeError: list indices must be integers, not tuple

    a[:,1]

    同上,报同样错误

 

numpy.array对应的索引方式:

    b[1][1] = 5

    b[1] = array([4,5,6])

    b[1][:] = array([4,5,6])

    b[1,1] = 5

    b[:,1] = array([2,5,8])

 

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值