Consider the following list:
[[3], [1, 2], [4], [0], [2]]

And zeros tensor of size (5, 5)
I want to fill these indices according to their index in the list to the tensor with 1.
So, the expected output should be:
tensor([[0., 0., 0., 1., 0.],
        [0., 1., 1., 0., 0.],
        [0., 0., 0., 0., 1.],
        [1., 0., 0., 0., 0.],
        [0., 0., 1., 0., 0.]])

What happened above is this:
at the index [0, 3] put 1 (the case for the first element in my list).

A very similar case is achievable through using Tensor.scatter_ 5. However, since it takes a tensor as the argument (index); you cannot create a tensor from a list if it contains a sub-list with a different size than the other elements, which is the case with [1, 2] in my list (this is actually the problem).
The scatter method could be used if the list is all of same size as the following:
tensor.scatter_(1, torch.tensor(index), 1)