如果你可以使用numpy和INF的值是该则是0的任何项目接受:
import numpy as np
a = np.array([[70,52,13,67],[90,48,57,26],[43,45,67,89],[88,65,44,0]],
dtype = np.float32)
>>>
>>> 1/a
array([[ 0.01428571, 0.01923077, 0.07692308, 0.01492537],
[ 0.01111111, 0.02083333, 0.01754386, 0.03846154],
[ 0.02325581, 0.02222222, 0.01492537, 0.01123596],
[ 0.01136364, 0.01538462, 0.02272727, inf]], dtype=float32)
>>> a**-1
array([[ 0.01428571, 0.01923077, 0.07692308, 0.01492537],
[ 0.01111111, 0.02083333, 0.01754386, 0.03846154],
[ 0.02325581, 0.02222222, 0.01492537, 0.01123596],
[ 0.01136364, 0.01538462, 0.02272727, inf]], dtype=float32)
>>> pow(a, -1)
array([[ 0.01428571, 0.01923077, 0.07692308, 0.01492537],
[ 0.01111111, 0.02083333, 0.01754386, 0.03846154],
[ 0.02325581, 0.02222222, 0.01492537, 0.01123596],
[ 0.01136364, 0.01538462, 0.02272727, inf]], dtype=float32)
>>>
>>> inverse_of_a = 1/a
>>> inverse_of_a
array([[ 0.01428571, 0.01923077, 0.07692308, 0.01492537],
[ 0.01111111, 0.02083333, 0.01754386, 0.03846154],
[ 0.02325581, 0.02222222, 0.01492537, 0.01123596],
[ 0.01136364, 0.01538462, 0.02272727, inf]], dtype=float32)
>>>
请检查您的压痕!由于复制和粘贴而丢失了吗? –
@noazet'^'是按位运算符而不是运算符。您可以使用'**'操作符作为电源操作员。 http://en.wikipedia.org/wiki/Bitwise_operation#XOR – ajay
[Sage](http://www.sagemath.org)使用Python和一些额外的语法糖。所以在这种情况下'^'实际上是指数运算(而^^'是xor)。我喜欢自己下面的列表理解方法。 – kcrisman