Return last n items of the iterable as a list.

    Example::

        >>> pull([0, 1, 2], 3)
        [1, 2]

    **中文文档**

    取出可循环对象中的最后n个元素。等效于list(iterable)[-n:], 但占用极小的内存。
    因为list(iterable)要将所有元素放在内存中并生成一个新列表。该方法常用语对于
    那些取index操作被改写了的可循环对象。

def pull(iterable, n):
    """Return last n items of the iterable as a list.

    Example::

        >>> pull([0, 1, 2], 3)
        [1, 2]

    **中文文档**

    取出可循环对象中的最后n个元素。等效于list(iterable)[-n:], 但占用极小的内存。
    因为list(iterable)要将所有元素放在内存中并生成一个新列表。该方法常用语对于
    那些取index操作被改写了的可循环对象。
    """
    fifo = collections.deque(maxlen=n)
    for i in iterable:
        fifo.append(i)
    return list(fifo)