可爱的 Python: Numerical Python
2007-03-29 12:14:19 来源:WEB开发网核心提示: 清单 1. Python 的嵌套数组>>> pyarr = [[1,2,3],... [4,5,6],... [7,8,9]]>>> print pyarr[[1, 2, 3], [4, 5, 6], [7, 8, 9]]>>> pya
清单 1. Python 的嵌套数组
>>> pyarr = [[1,2,3],
... [4,5,6],
... [7,8,9]]
>>> print pyarr
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> pyarr[1][1] = 0
>>> print pyarr
[[1, 2, 3], [4, 0, 6], [7, 8, 9]]
很好,但是您对这种结构所能做的只是通过单独的 (或者多维的) 索引来设置和检索元素。与此相比,Numarray 数组要更灵活:
清单 2. Numerical Python 数组
>>> from numarray import *
>>> numarr = array(pyarr)
>>> print numarr
[[1 2 3]
[4 0 6]
[7 8 9]]
改变并不大,但是使用 Numarray 进行的操作如何呢? 下面是一个例子:
清单 3. 元素操作
>>> numarr2 = numarr * 2
>>> print numarr2
[[ 2 4 6]
[ 8 0 12]
[14 16 18]]
>>> print numarr2 + numarr
[[ 3 6 9]
[12 0 18]
[21 24 27]]
改变数组的形状:
清单 4. 改变形状
>>> numarr2.shape = (9,)
>>> print numarr2
[ 2 4 6 8 0 12 14 16 18]
Numeric 与 Numarray 之间的区别
总体来看,新的 Numarray 软件包与早期的 Numeric 是 API 兼容的。不过,开发者基于用户经验进行了一些与 Numric 并不兼容的改进。开发者没有破坏任何依赖于 Numeric 的应用程序,而是开创了一个叫做 Numarray 的新项目。在完成本文时,Numarray 还缺少 Numeric 的一些功能,但是已计划实现这些功能。
更多精彩
赞助商链接