На каждой итерации первого цикла, значение элемента с индексом i-1 (предыдущего элемента) заменяется на значение элемента с индексом i (текущего элемента). Это приводит к сдвигу всех элементов списка на одну позицию влево, кроме первого элемента, который заменяется на второй.
Последний элемент списка дублируется, потому что в последней итерации цикла
for i in range(1, 6) нет "следующего" элемента, значение которого можно было бы присвоить предыдущему. На выходе получается "2 3 4 5 6 6".