code: def build_row(row, left, center, right):
      
      if not row or not row[0]:
          yield combine((), left, center, right)
          return
      for row_index in range(len(row[0])):
          yield combine((c[row_index] for c in row), left, center, right)
docs: Combine single or multi-lined cells into a single row of list of lists including borders.
  
      Row must already be padded and extended so each cell has the same number of lines.
  
      Example return value:
      [
          ['>', 'Left ', '|', 'Center', '|', 'Right', '<'],
          ['>', 'Cell1', '|', 'Cell2 ', '|', 'Cell3', '<'],
      ]
  
      :param iter row: List of cells for one row.
      :param str left: Left border.
      :param str center: Column separator.
      :param str right: Right border.
  
      :return: Yields other generators that yield strings.
      :rtype: iter