Python: сдвиг элементов в списке с постоянной длиной
Я ищу элегантный способ написать простую функцию, которая бы смещала элементы списка на заданное количество позиций, сохраняя список одинаковой длины и дополняя пустые позиции значением по умолчанию. Это будет строка документации функции:
def shift_list(l, shift, empty=0):
"""
Shifts the elements of a list **l** of **shift** positions,
padding new items with **empty**::
>>> l = [0, 1, 4, 5, 7, 0]
>>> shift_list(l, 3)
[0, 0, 0, 0, 1, 4]
>>> shift_list(l, -3)
[5, 7, 0, 0, 0, 0]
>>> shift_list(l, -8)
[0, 0, 0, 0, 0, 0]
"""
pass
Как бы вы поступили? Любая помощь с благодарностью!