在其他人代码中对numpy数组进行操作

时间:2019-08-01 16:01:53

标签: python numpy

我试图理解别人写的代码,发现了这一点

w &= (n == 2)  
w |= (n == 3)

其中w和n都是numpy数组。 我已经在Google上进行了一些快速研究,但没有发现能告诉我的是什么,我真的很感激。

1 个答案:

答案 0 :(得分:0)

// Doesn't evaluate to propery access. // But isn't a non-configurable property, so return true console.log(delete null); // true console.log(delete 12); // true console.log(delete "foobar"); // true // non-configurable own property. // only case when delete returns false // (or throws in strict mode) let obj = {}; Object.defineProperty(obj, "val", {value: 12}); console.log(delete obj.val); // falsew必须是相同长度的数组。然后按组件执行操作,因此将n的第一个元素与w的第一个元素,n的第二个元素与w的第二个元素进行比较,然后等等。

n将返回n == 2True,当与bitwise and/or operators一起使用时,它们分别解释为False1。 。这意味着0的结果将始终为w & (n == 2)1

所有操作均按组件执行。因此,0会将索引w &= (n == 2)的值更改为w的值,其中索引处1的二进制值的最后一位是w(在(如果是整数,则表示整数为奇数)。 ,并且1中相同索引处的值为n。对于所有其他情况,它将值更改为2。示例:

0

以相同的方式,w | =(n == 3)与按位或; w: [1, 2, 3, 4] w (binary): [1, 10, 11, 100] n: [0, 2, 2, 3] n == 2: [False, True, True, False] (interpreted as [0, 1, 1, 0]) w & (n == 2): [0, 0, 1, 0] 中的二进制表示形式以1 结尾,或者w中同一索引处的值为n。在所有其他情况下,3

0