input: Write a function to move all zeroes in a given list to the end of the list while maintaining the order of non-zero elements. The function should return a new list with the zeroes at the end. If the given list is empty, it should return an empty list.
  assert move_zeroes([3, 0, 1, 0, 5, 0, 2])==[3, 1, 5, 2, 0, 0, 0]
  assert move_zeroes([0, 0, 0, 1, 2])==[1, 2, 0, 0, 0]
  assert move_zeroes([4, 1, 2, 3])==[4, 1, 2, 3]
  assert move_zeroes([0])==[0]
  assert move_zeroes([])==[]
output: def move_zeroes(lst):
      non_zeroes = [x for x in lst if x != 0]
      zeroes = [x for x in lst if x == 0]
      return non_zeroes + zeroes