input: Write a function to format a two-dimensional array as a table. The function should take a list of lists as input and print each row with columns aligned by the maximum width of each column. If the array is empty, it should print an empty line.
  def printTable(array):
      # find the longest string in each of the inner lists
      # so we can format the output
      col_width = [max(len(str(x)) for x in col) for col in array]
      for row in array:
          print("  ".join(str(x).ljust(col_width[i]) for i, x in enumerate(row)))
  
  assert printTable([[1, 2, 3], [4, 5, 6], [7, 8, 9]])==None
  # Expected Output:
  # 1   2   3
  # 4   5   6
  # 7   8   9
  
  assert printTable([[1, 22, 333], [4444, 5, 6], [7, 88888, 999999]])==None
  # Expected Output:
  # 1      22     333
  # 4444   5      6
  # 7      88888  999999
  
  assert printTable([])==None
  # Expected Output:
  # (empty line)
output: 
  def printTable(array):
      if not array:
          print()
          return
      col_width = [max(len(str(x)) for x in col) for col in zip(*array)]
      for row in array:
          print("  ".join(str(x).ljust(col_width[i]) for i, x in enumerate(row)))
  