• numpy.array


    关于python中的二维数组,主要有list和numpy.array两种。 
    好吧,其实还有matrices,但它必须是2维的,而numpy arrays (ndarrays) 可以是多维的。 
    我们主要讨论list和numpy.array的区别: 
    我们可以通过以下的代码看出二者的区别

     1 >>import numpy as np
     2 >>a=[[1,2,3],[4,5,6],[7,8,9]]
     3 >>a
     4 [[1,2,3],[4,5,6],[7,8,9]]
     5 >>type(a)
     6 <type 'list'>
     7 >>b=np.array(a)"""List to array conversion"""
     8 >>type(b)
     9 <type 'numpy.array'>
    10 >>b
    11 array=([[1,2,3],
    12         [4,5,6],
    13         [7,8,9]])

    list对应的索引输出情况:

     1 >>a[1][1]
     2 5
     3 >>a[1]
     4 [4,5,6]
     5 >>a[1][:]
     6 [4,5,6]
     7 >>a[1,1]"""相当于a[1,1]被认为是a[(1,1)],不支持元组索引"""
     8 Traceback (most recent call last):
     9   File "<stdin>", line 1, in <module>
    10 TypeError: list indices must be integers, not tuple
    11 >>a[:,1]
    12 Traceback (most recent call last):
    13   File "<stdin>", line 1, in <module>
    14 TypeError: list indices must be integers, not tuple

    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])

    由上面的简单对比可以看出, numpy.array支持比list更多的索引方式,这也是我们最经常遇到的关于两者的区别。此外从[Numpy-快速处理数据]上可以了解到“由于list的元素可以是任何对象,因此列表中所保存的是对象的指针。这样为了保存一个简单的[1,2,3],有3个指针和3个整数对象。”

  • 相关阅读:
    Entity Framework 第十篇 条件查询
    Entity Framework 第九篇 关于自增列的事务处理
    Entity Framework 第八篇 结构优化
    Entity Framework 第七篇 简化排序
    控件截图Cache
    Java基础_自加运算
    Java基础_赋值运算
    Java基础_字符与字符串的运算
    同步和异步
    Application中的name属性
  • 原文地址:https://www.cnblogs.com/lfydeblog/p/8135848.html
Copyright © 2020-2023  润新知