input: 
  from typing import List
  
  
  def move_zeroes(lst: List[int]) -> List[int]:
      """
      Moves all zeroes in a list to the end of the list while maintaining the order of non-zero elements.
      
      >>> move_zeroes([3, 0, 1, 0, 5, 0, 2])
      [3, 1, 5, 2, 0, 0, 0]
      """
      
      # Initialize new list with non-zero elements
      new_lst = [num for num in lst if num != 0]
      
      # Append zeroes to the end
      new_lst.extend([0] * (len(lst) - len(new_lst)))
      
      return new_lst
  
output:     # Initialize new list with non-zero elements
      new_lst = [num for num in lst if num != 0]
      
      # Append zeroes to the end
      new_lst.extend([0] * (len(lst) - len(new_lst)))
      
      return new_lst