input: Write a function to multiply two matrices.
  assert matrix_multiply([[1, 2], [3, 4]], [[5, 6], [7, 8]]) == [[19, 22], [43, 50]]
  assert matrix_multiply([[2, 0], [1, 3]], [[1, 2], [0, 1]]) == [[2, 4], [1, 5]]
  assert matrix_multiply([[1, 2, 3], [4, 5, 6]], [[7, 8], [9, 10], [11, 12]]) == [[58, 64], [139, 154]]
  assert matrix_multiply([[1, 2]], [[3], [4]]) == [[11]]
  assert matrix_multiply([[1, 2, 3]], [[4], [5], [6]]) == [[32]]
output: def matrix_multiply(A, B):
      result = [[sum(a * b for a, b in zip(A_row, B_col)) for B_col in zip(*B)] for A_row in A]
      return result