<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def eformat(format_str,lst,dct,defvalue='-'):
 """ Formats a list and a dictionary, manages unkown keys It works like :meth:`string.Formatter.vformat` except that it accepts a defvalue for not matching keys. Defvalue can be a callable that will receive the requested key as argument and return a string Args: format_string (str):
 Same format string as for :meth:`str.format` lst (dict) : the list to format dct (dict) : the dict to format defvalue (str or callable):
 the default value to display when the data is not in the dict Examples: 'Eric => textops : 32591 dowloads' 'N/A => N/A : 32591 dowloads' 'unknown_tag_2 => unknown_tag_software : 32591 dowloads' """

    return vformat(format_str,DefaultList(defvalue,lst),DefaultDict(defvalue,dct))