Вы удаляете вещи с фронта, добавляете к задней части и тому, что для длины списка: это просто вращает вещи вокруг, приводя к той же последовательности.
Вы можете сделать то же самое с d.rotate(len(d))
- но результирующий список будет в том же порядке, что и раньше: [1,2,3]-->[2,3,1]-->[3,1,2]-->[1,2,3]
.
Использовать
from collections import deque
def mirrDeque(d):
c = deque(d) # [1,2,3]
c.reverse() # reverse the copy [3,2,1]
c.extend(d) # add the original [3,2,1,1,2,3]
c.rotate(len(d)) # rotate by len [1,2,3,3,2,1]
return c
k = deque([1,2,3,4])
print(mirrDeque(k))
Вывод:
deque([1, 2, 3, 4, 4, 3, 2, 1])