问题 I have a list and I want to shuffle a portion of it in-place . I am aware of random.shuffle() and that it works in-place, but if I slice the list, it shuffles the sliced copy of the original input, leaving the original list untouched: import random l = list(range(20)) print(l) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] random.shuffle(l[:10]) # I wish it was shuffling the first half print(l) # but does nothing to `l` # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13