Elemente vom Ende einer Sequenz ermitteln

Mit der Funktion wird eine bestimmte Anzahl Elemente vom Ende einer vorgegeben Sequenz zurückgegeben.

import collections
import types
from typing import Sequence
def tail_of_sequence(sequence: Sequence, number: int) -> Sequence:
    """
    Gibt n Elemente vom Ende einer vorgegebenen Sequenz zurück.

   :param sequence: Sequenz, deren Elemente gefiltert werden
   :param number: Anzahl der Elemente, die zurückgegeben werden soll

   :return: Sequenz, die die zurückgegebenen Elemente enthält
    """
    if number <= 0:         return []
    if not isinstance(sequence, types.GeneratorType) and number > len(sequence):         return sequence
    deque_sequence = collections.deque(sequence)     deque_sequence.rotate(number)
    if not deque_sequence:         return []
    result = []
    for i in range(0, number):         result.append(deque_sequence[I])
    return result

# Beispiele für den Aufruf

print(tail_of_sequence((1, 2, 3, 4, 5, 6, 7), 3))
print(tail_of_sequence(('a', 'b', 'c', 'd', 'e', 'f', 'g'), 4))

Ausgabe:

[5, 6, 7]
['d', 'e', 'f', 'g']