code: def generateFeatures(numFeatures):
    
    # Capital letters, lowercase letters, numbers
    candidates = ([chr(i+65) for i in xrange(26)] +
                  [chr(i+97) for i in xrange(26)] +
                  [chr(i+48) for i in xrange(10)])
  
    if numFeatures > len(candidates):
      candidates = ["F{}".format(i) for i in xrange(numFeatures)]
      return candidates
  
    return candidates[:numFeatures]
docs: Return string features.
  
    If <=62 features are requested, output will be single character
    alphanumeric strings. Otherwise, output will be ["F1", "F2", ...]