import numpy as np L=[-1, 3, 4, -2, 6] indices=np.array([1, 0, 0, 1,1], dtype=bool) [None if b else e for e,b in zip(L, indices)]
results in [None, 3, 4, None, None]
[None, 3, 4, None, None]
is that what you mean?