def _factorize_from_iterables(iterables):
 if (len(iterables) == 0):
  return [[], []]
 return map(list, lzip(*[_factorize_from_iterable(it) for it in iterables]))

def _factorize_from_iterables ( iterables ) : if ( len ( iterables ) == 0 ) : return [ [ ] , [ ] ] return map ( list , lzip ( * [ _factorize_from_iterable ( it ) for it in iterables ] ) )
a higher-level wrapper over _factorize_from_iterable .