计算机的有用性很大程度上取决于它们能快速执行重复性任务的能力。因此,大多数程序设计语言都提供容器对象,通常称为数组,它可以存储大量相同类型的对象,并通过索引机制检索它们。数学向量将对应于一维数组,而矩阵对应于二维数组。令人惊讶的是,Python核心语言竟然没有数组概念。相反,它有更加通用的容器对象:列表(list)、元组(tuple)、字符串(string)和字典(dict)。我们很快就会发现,可以通过列表来模拟数组对象,这就是以前在Python中进行数值处理的工作方式。由于列表的通用性,这种模拟方法与Fortran或者C中的等价结构相比要耗费更多的时间,其数值计算缓慢理所当然地为Python带来了坏名声。开发人员提出了各种方案来缓解这个问题,现在他们已经提出了标准的解决方案,就是使用NumPy附加模块。NumPy的数组具有Python列表的通用性,但其内部实现为C的数组,这显著地减少(但并非完全消除)了其速度损失。
资料来源:《Python科学计算(原书第2版)》,文章链接:https://developer.aliyun.com/article/726064
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。