def restore_cases(lower_message,cases):
    """ applies a list of case changes to a message; assumes input message all lowercase 

    note: ASCII
    """

    assert len(lower_message) == len(cases)
    return "".join([case and ch.upper() or ch for (ch,case) in zip(lower_message,cases)])
 applies a list of case changes to a message; assumes input message all lowercase 

    note: ASCII
    
recipes/Python/577205_Cryptogram/recipe-577205.py