def izip_records(seqarrays, fill_value=None, flatten=True):
<EOL>def sentinel(counter=([fill_value] * (len(seqarrays) - <NUM_LIT:1>)).pop):<EOL><INDENT>"<STR_LIT>"<EOL>yield counter()<EOL><DEDENT>fillers = itertools.repeat(fill_value)<EOL>iters = [itertools.chain(it, sentinel(), fillers) for it in seqarrays]<EOL>if flatten:<EOL><INDENT>zipfunc = _izip_fields_flat<EOL><DEDENT>else:<EOL><INDENT>zipfunc = _izip_fields<EOL><DEDENT>try:<EOL><INDENT>for tup in zip(*iters):<EOL><INDENT>yield tuple(zipfunc(tup))<EOL><DEDENT><DEDENT>except IndexError:<EOL><INDENT>pass<EOL><DEDENT>
Returns an iterator of concatenated items from a sequence of arrays.

Parameters
----------
seqarray : sequence of arrays
    Sequence of arrays.
fill_value : {None, integer}
    Value used to pad shorter iterables.
flatten : {True, False},
    Whether to