input: Write a function to optimize a Python program that processes a 2d array and stores the transpose output in a new array.
  assert transpose([[1, 2, 3], [4, 5, 6]])==[[1, 4], [2, 5], [3, 6]]
  assert transpose([[1, 2], [3, 4], [5, 6]])==[[1, 3, 5], [2, 4, 6]]
  assert transpose([[7], [8], [9]])==[[7, 8, 9]]
  assert transpose([[1, 2, 3], [4, 5, 6], [7, 8, 9]])==[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
  assert transpose([])==[]
output: def transpose(matrix):
      if not matrix:
          return []
      return [[matrix[j][i] for j in range(len(matrix))] for i in range(len(matrix[0]))]