input: from typing import List
  
  
  def generate_password(length: int, special_chars: List[str]) -> str:
      """Generate a random password of specified length, which consists of alphanumeric characters
      and at least one special character from the given list of special characters.
      If no special character is present, the function should regenerate the password.
      >>> generate_password(8, ['!', '@', '#'])
      'A1b2@C3d'
      >>> generate_password(6, ['*', '$'])
      'aB3$4e'
      """
      import random
      import string
      
      chars = string.ascii_letters + string.digits + ''.join(special_chars)
      while True:
          password = ''.join(random.choice(chars) for _ in range(length))
          if any(char in special_chars for char in password):
              return password
output:     import random
      import string
      
      chars = string.ascii_letters + string.digits + ''.join(special_chars)
      while True:
          password = ''.join(random.choice(chars) for _ in range(length))
          if any(char in special_chars for char in password):
              return password