同时在Numpy数组中翻转两个值

Spi*_*uce 1 python numpy

如果我有一个numpy数组,如:

[0,1,0,2,2]
Run Code Online (Sandbox Code Playgroud)

我想同时翻转列表中的0和2(获取[2,1,2,0,0]),最好的方法是什么?

cxr*_*ers 7

这是条件在numpy中的直接应用.

def switchvals(arr, val1, val2):
    mask1 = arr == val1
    mask2 = arr == val2
    arr[mask1] = val2
    arr[mask2] = val1
Run Code Online (Sandbox Code Playgroud)