Generate n-size running window.

    Example::

        >>> for i in running_windows([1, 2, 3, 4, 5], size=3):
        ...     print(i)
        [1, 2, 3]
        [2, 3, 4]
        [3, 4, 5]

    **中文文档**

    简单滑窗函数。

def running_window(iterable, size):
    """Generate n-size running window.

    Example::

        >>> for i in running_windows([1, 2, 3, 4, 5], size=3):
        ...     print(i)
        [1, 2, 3]
        [2, 3, 4]
        [3, 4, 5]

    **中文文档**

    简单滑窗函数。
    """
    if size > len(iterable):
        raise ValueError("size can not be greater than length of iterable.")

    fifo = collections.deque(maxlen=size)
    for i in iterable:
        fifo.append(i)
        if len(fifo) == size:
            yield list(fifo)