De retour de sous-ensemble de la Liste qui Correspond à Condition

Disons que j'ai une liste de ints:

listOfNumbers = range(100)

Et je veux retourner une liste des éléments qui répondent à certaines conditions, de dire:

def meetsCondition(element):
    return bool(element != 0 and element % 7 == 0)

Qu'est ce qu'un Pythonic retour dans un sous-list de l'élément dans un list pour qui meetsCondition(element) est True?

Une approche naïve:

def subList(inputList):
    outputList = []

    for element in inputList:
        if meetsCondition(element):
            outputList.append(element)

    return outputList

divisibleBySeven = subList(listOfNumbers)

Est-il une façon simple de le faire, peut-être avec une compréhension de liste ou set() fonctions, et sans le temporaire outputList?

Notez que divisibleBySeven est en fait la même list objet comme outputList, ce n'est pas une copie de celui-ci.

OriginalL'auteur Will | 2016-01-30