def normalize_to_list(obj, lst):
    """Returns a matching member of a Player or Card list, if possible.

    Assumes names of objects in the list are unique, for match by name.

    Arguments:
        obj -- a Player, Card, or a name (string) representing one
        lst -- a list of Players or Cards

    Returns:
        a Player or Card from the list, matching obj
    """
    if obj in lst:
        return obj

    try:
        my_obj = next(o for o in lst if o.name == obj)

    except(StopIteration):
        raise ValueError("No such Player/Card {} in list {}".format(
            obj, lst))

    return my_obj