'Construct a FeatureProfile object from a list of boolean values.
>>> FeatureProfile.from_list([True, False, ...])
FeatureProfile([(\'apps\', True), (\'packaged_apps\', False), ...)'

@classmethod
def from_list(cls, features, limit=None):

    instance = cls()
    if (limit is None):
        limit = len(APP_FEATURES)
    app_features_to_consider = OrderedDict(itertools.islice(APP_FEATURES.iteritems(), limit))
    for (i, k) in enumerate(app_features_to_consider):
        instance[k.lower()] = bool(features[i])
    return instance
