def transpose2(lists, defval=0):
  """ Transpose a list of list. defval is used instead of None for uneven lengthed lists. """
  if not lists: return []
  return map(lambda *row: [elem or defval for elem in row], *lists)