python中的术语分区术语(分支终结符,终结者)

时间:2009-11-23 18:18:49

标签: python

大家好,需要定义一个可以按术语矩阵划分的函数,或者在最坏的情况下,在列表数组之间划分,这样就可以得到第三个矩阵的结果,

感谢您的回复

1 个答案:

答案 0 :(得分:8)

除非我误解,否则numpy可以充分利用这一点:

>>> from numpy import *
>>> a = array([[1,2,3],[4,5,6],[7,8,9]])
>>> b = array([[0.5] * 3, [0.5] * 3, [0.5] * 3])
>>> a / b
array([[  2.,   4.,   6.],
       [  8.,  10.,  12.],
       [ 14.,  16.,  18.]])

这也适用于乘法。事实上,如Mark所述,标量除法(和乘法)也是可能的:

>>> a / 10.0
array([[ 0.1,  0.2,  0.3],
       [ 0.4,  0.5,  0.6],
       [ 0.7,  0.8,  0.9]])
>>> a * 10
array([[10, 20, 30],
       [40, 50, 60],
       [70, 80, 90]])

修改:要完成,对于列表列表,您可以执行以下操作:

>>> a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> b = [[0.5] * 3, [0.5] * 3, [0.5] * 3]
>>> def mat_div(a, b): 
...     return [[n / d for n, d in zip(ra, rb)] for ra, rb in zip(a, b)] 
... 
>>> mat_div(a, b)
[[2.0, 4.0, 6.0], [8.0, 10.0, 12.0], [14.0, 16.0, 18.0]]