@staticmethod
def _linear_ranking(count, worst):
    """
        This applies the best and worst factors and assigns the selection
        probability to each rank.

        This returns a list of those probabilities.

        """
    best = 2.0 - worst
    scale_list = []
    i = 1.0
    count = float(count)
    while i < count + 1.0:
        value = worst + (best - worst) * (i - 1.0) / (count - 1.0)
        value /= count
        scale_list.append(value)
        i += 1.0
    return scale_list
