可爱的 Python: Numerical Python
2007-03-29 12:14:19 来源:WEB开发网核心提示: 首先,我们将整个房间的温度提高到比较舒适的 70 华氏度 (大约是 20 摄氏度):清单 10. 打开加热器>>> room += 70>>> print room[[[ 70. 70. 70. 70. 70.][ 70. 70. 70. 70. 70.
首先,我们将整个房间的温度提高到比较舒适的 70 华氏度 (大约是 20 摄氏度):
清单 10. 打开加热器
>>> room += 70
>>> print room
[[[ 70. 70. 70. 70. 70.]
[ 70. 70. 70. 70. 70.]
[ 70. 70. 70. 70. 70.]]
[[ 70. 70. 70. 70. 70.]
[ 70. 70. 70. 70. 70.]
[ 70. 70. 70. 70. 70.]]
[[ 70. 70. 70. 70. 70.]
[ 70. 70. 70. 70. 70.]
[ 70. 70. 70. 70. 70.]]
[[ 70. 70. 70. 70. 70.]
[ 70. 70. 70. 70. 70.]
[ 70. 70. 70. 70. 70.]]]
请注意,在我们接下来对 Numarray 数组和 Python 列表进行操作时有很重要的区别。当您选取数组的层面时 -- 我们将会看到,多维数组中的分层方法非常灵活且强大 -- 您得到的不是一个拷贝而是一个“视图”。指向相同的数据可以有多种途径。
让我们具体来看。假设我们房间有一个通风装置,会将地面的温度降低四度:
清单 11. 温度的变化
>>> floor = room[3]
>>> floor -= 4
>>> print room
[[[ 70. 70. 70. 70. 70.]
[ 70. 70. 70. 70. 70.]
[ 70. 70. 70. 70. 70.]]
[[ 70. 70. 70. 70. 70.]
[ 70. 70. 70. 70. 70.]
[ 70. 70. 70. 70. 70.]]
[[ 70. 70. 70. 70. 70.]
[ 70. 70. 70. 70. 70.]
[ 70. 70. 70. 70. 70.]]
[[ 66. 66. 66. 66. 66.]
[ 66. 66. 66. 66. 66.]
[ 66. 66. 66. 66. 66.]]]
与此相对,北面墙上的壁炉将每个邻近位置的温度升高了 8 度,而它所在位置的温度为 90 度。
更多精彩
赞助商链接