Given your example, you might be looking for scatter_:
a = torch.tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], dtype=torch.float32).unsqueeze(0)
b = torch.zeros(2, a.size(1))
idx = torch.randint(0, 2, (1, a.size(1)))
b.scatter_(0, idx, a)
print(b)
> tensor([[0., 0., 1., 1., 0., 0., 1., 1., 0., 0., 1.],
          [1., 1., 0., 0., 1., 1., 0., 0., 1., 1., 0.]])