input: Write a function to optimize a Python program that processes a 2D array and stores the transpose output in a new array. The function should return the transposed array.
  assert transpose([[1, 2], [3, 4]]) == [[1, 3], [2, 4]]
  assert transpose([[5, 6, 7], [8, 9, 10]]) == [[5, 8], [6, 9], [7, 10]]
  assert transpose([[1]]) == [[1]]
  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]))]