<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def humanize(self, hexdigest, words=4, separator='-'):
 """ Humanize a given hexadecimal digest. Change the number of words output by specifying `words`. Change the word separator with `separator`. 'sodium-magnesium-nineteen-hydrogen' """


        # Gets a list of byte values between 0-255.
        bytes = [int(x, 16) for x in list(map(''.join, list(zip(hexdigest[::2], hexdigest[1::2]))))]
        # Compress an arbitrary number of bytes to `words`.
        compressed = self.compress(bytes, words)
        # Map the compressed byte values through the word list.
        return separator.join(self.wordlist[byte] for byte in compressed)