I also create a new post which describes my means, may be it will let you get my thought
  
    
    
    I have a value tensor and a raw index, how can I get a 2-D tensor 
  
  
    the value tensor is value = torch.Tensor([2, 9, 7, 8, 4]) 
the raw index tensor = torch.Tensor([0, 0, 1, 2, 3]) 
2 matches  0  which means 2 in 0th raw, and because the desired[0][0]=2,  the 9 matches 0 but the desired[0][0]==2, so desired[0][1]=9 
I do want get the 2-D tensor 
desired tensor: 

tensor([[2., 9.],

[7., 0.],

[8., 0.],

[4., 0.]])