Fonction Python native pour supprimer les éléments NoneType de la liste?

Je suis à l'aide de Magnifiques Soupe en Python pour gratter quelques données à partir de fichiers HTML. Dans certains cas, Belle Soupe renvoie les listes qui contiennent à la fois string et NoneType objets. J'aimerais filtrer toutes les NoneType objets.

En Python, les listes contenant NoneType objets ne sont pas itérable, de sorte compréhension de liste n'est pas une option pour cela. Plus précisément, si j'ai une liste lis contenant NoneTypeset j'essaie de faire quelque chose comme [x for x in lis (some condition/function)]Python génère l'erreur TypeError: argument of type 'NoneType' is not iterable.

Comme nous l'avons vu dans d'autres postesil est simple à implémenter cette fonctionnalité dans une fonction définie par l'utilisateur. Voici mon goût:

def filterNoneType(lis):
    lis2 = []
    for l in links: #filter out NoneType
        if type(l) == str:
            lis2.append(l)
    return lis2

Cependant, j'aimerais utiliser un construit en fonction Python pour cela, si elle existe. J'aime toujours pour simplifier mon code, si possible. Python ont une fonction intégrée qui permet de supprimer NoneType objets à partir de listes?

source d'informationauteur solvingPuzzles