input: from typing import List
  
  def move_zeroes(lst: List[int]) -> List[int]:
      """Move all zeroes in the given list to the end of the list.
      >>> move_zeroes([3, 0, 1, 0, 5, 0, 2])
      [3, 1, 5, 2, 0, 0, 0]
      >>> move_zeroes([0, 0, 0, 0])
      [0, 0, 0, 0]
      >>> move_zeroes([1, 2, 3, 4])
      [1, 2, 3, 4]
      """
      # Count the number of non-zero elements
      num_non_zeroes = sum(1 for num in lst if num != 0)
  
      # Initialize the new list with non-zero elements
      new_lst = [num for num in lst if num != 0]
      
      # Append 0's to the end
      new_lst.extend([0] * (len(lst) - num_non_zeroes))
  
      return new_lst
  
output:     # Count the number of non-zero elements
      num_non_zeroes = sum(1 for num in lst if num != 0)
  
      # Initialize the new list with non-zero elements
      new_lst = [num for num in lst if num != 0]
      
      # Append 0's to the end
      new_lst.extend([0] * (len(lst) - num_non_zeroes))
  
      return new_lst