def worstOf(predictorList):
    """Return the least succesful predictor(s) of the list. The
    return value is a list of one or more predictors. The latter
    is the case if there are several equally bad worst predictors
    in the list.
    """
    assert predictorList != [], "Predictor list is empty!"
    worstList = []
    worstRate = 2.0
    for p in predictorList:
        if p.successRate < worstRate:
            worstList = [p]
            worstRate = p.successRate
        elif p.successRate == worstRate:
            worstList.append(p)
    return worstList