code: def generateExpectedList(numUniqueFeatures, numLocationsPerObject, maxNumObjects):
    
    # We're choosing a location, checking its feature, and checking how many
    # *other* occurrences there are of this feature. So we check n - 1 locations.
    maxNumOtherLocations = maxNumObjects*10 - 1
  
    results = zip(itertools.count(1),
                  findBinomialNsWithExpectedSampleMinimum(
                    itertools.count(1), 1./numUniqueFeatures, numLocationsPerObject,
                    maxNumOtherLocations))
  
    finalResults = [(numOtherLocations, interpolatedN / numLocationsPerObject)
                    for numOtherLocations, (interpolatedN, _, _) in results]
  
    return [(0, 0.)] + finalResults
docs: Metric: How unique is each object's most unique feature? Calculate the
    expected number of occurrences of an object's most unique feature.