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

Как бы вы поступили? Любая помощь с благодарностью!

Ответы на вопрос(5)

Ваш ответ на вопрос