def _pack_bits_into_byte(iterable):
    """\
    Packs eight bits into one byte.

    If the length of the iterable is not a multiple of eight, ``0x0`` is used
    to fill-up the missing values.
    """
    return (reduce(lambda x, y: (x << 1) + y, e)
            for e in zip_longest(*[iter(iterable)] * 8, fillvalue=0x0))
def _pack_bits_into_byte ( iterable ) : return ( reduce ( lambda x , y : ( x << 1 ) + y , e ) for e in zip_longest ( * [ iter ( iterable ) ] * 8 , fillvalue = 0x0 ) )
\
    Packs eight bits into one byte.

    If the length of the iterable is not a multiple of eight, ``0x0`` is used
    to fill-up the missing values.