code: def lookup_pokemon(field,value,pokemons=None):
      '''lookup_pokemon will search a particular field (name) for a value. If no pokemons
      data structure is provided, all will be used.
      :param field: the field to look up.
      :param pokemons: the pokemons data structure
      '''
      if pokemons == None:
          pokemons = catch_em_all()
  
      catches = {}
      for pid,data in pokemons.items():
          if isinstance(data[field],list):
              for entry in data[field]:
                  found = search_entry(entry,value)        
                  if found == True:
                      catches[pid] = data
          else:
              found = search_entry(data[field],value)
              if found == True:
                  catches[pid] = data
                              
      if len(catches) > 0:
          return catches
      return Nonf lookup_pokemon(field,value,pokemons=None):
      '''lookup_pokemon will search a particular field (name) for a value. If no pokemons
      data structure is provided, all will be used.
      :param field: the field to look up.
      :param pokemons: the pokemons data structure
      '''
      if pokemons == None:
          pokemons = catch_em_all()
  
      catches = {}
      for pid,data in pokemons.items():
          if isinstance(data[field],list):
              for entry in data[field]:
                  found = search_entry(entry,value)        
                  if found == True:
                      catches[pid] = data
          else:
              found = search_entry(data[field],value)
              if found == True:
                  catches[pid] = data
                              
      if len(catches) > 0:
          return catches
      return None
docs: lookup_pokemon will search a particular field (name) for a value. If no pokemons
      data structure is provided, all will be used.
      :param field: the field to look up.
      :param pokemons: the pokemons data structure