The list comprehension uses:
label = torch.tensor([1, 3, 0, 1])
# which equals to
label[0] = 1
label[1] = 3
label[2] = 0
label[3] = 1

# your list comprehension uses the label itself to index into it
[label[x] for x in label]
== [label[1], label[3], label[0], label[1]]
== [3, 1, 1, 3]