user
Comment programmer une fonction Python qui enlève toutes les occurrences d'une liste entrée en paramètre ?
alphonsio

La fonction remove_occurrences ci-dessous retourne la liste source après avoir supprimé toutes les occurences de la liste to_remove :

def remove_occurrences(source, to_remove):
    return [item for item in source if item not in to_remove]

Pour programmer une fonction qui enlève toutes les occurrences des éléments d'une liste donnée (appelons-la to_remove) à partir d'une autre liste (appelons-la source), tu peux faire ça en Python assez simplement.

Exemple de fonction en Python :

def remove_occurrences(source, to_remove):
    return [item for item in source if item not in to_remove]

Exemple d'utilisation :

source = [1, 2, 3, 4, 2, 5, 2, 6]
to_remove = [2, 4]

result = remove_occurrences(source, to_remove)
print(result)  # Résultat : [1, 3, 5, 6]

Explication :

  • La compréhension de liste [item for item in source if item not in to_remove] parcourt chaque élément de source et ne garde que ceux qui ne sont pas dans to_remove.

Exemple en ligne :