2013-02-04 231 views
7

当做布尔阵列比较,是否有任何优势/惯例使用&代替*|代替+?这些总是等价的吗?&vs *和| vs +

(如果这些文档中,链接可能会是一个可以接受的答案,但我对“numpy的符号”和“numpy的元素单元的布尔比较”天真的搜索没有任何屈服相关)

回答

5

如果有人想知道:操作具有相同的速度,因此它无论你选择哪一个。

In [1]: import numpy as np 

In [2]: a = np.random.randn(1000)>0 

In [3]: b = np.random.randn(1000)>0 

In [4]: %timeit a*b 
100000 loops, best of 3: 2.89 us per loop 

In [5]: %timeit a&b 
100000 loops, best of 3: 2.87 us per loop 

In [6]: %timeit a+b 
100000 loops, best of 3: 2.69 us per loop 

In [7]: %timeit a|b 
100000 loops, best of 3: 2.62 us per loop 

就我而言,我使用&|作出明确,我很感兴趣,布尔运算(如果读者忘记了有问题的阵列的D型)。

相关问题