Soustraire efficacement deux listes
Supprimer des éléments d'une liste en fonction de leur présence dans une deuxième liste peut être une tâche fastidieuse. Pour surmonter ce défi, Python propose une solution efficace utilisant sa puissante fonctionnalité de compréhension de liste.
Considérez la tâche consistant à exécuter l1 - l2, où l1 et l2 sont deux listes données. En utilisant l’approche de boucle naïve, cette opération nécessiterait de parcourir chaque élément de l1 et de vérifier sa présence dans l2, ce qui entraînerait une complexité temporelle de O(mn), où m est la longueur de l1 et n est la longueur de l2.
Cependant, la compréhension de liste de Python fournit un moyen élégant et efficace d'obtenir le même résultat avec une complexité temporelle de O(n). L'extrait de code suivant le démontre :
l3 = [x for x in l1 if x not in l2]
Dans ce code, la compréhension de liste parcourt chaque élément x dans l1 et vérifie s'il est présent dans l2. Si x n'est pas dans l2, il est inclus dans la liste résultante l3. Cette implémentation permet une manière concise et très efficace d'effectuer des soustractions de liste en Python.
Par exemple, étant donné l1 = [1, 2, 6, 8] et l2 = [2, 3, 5, 8] , le code ci-dessus renverra l3 contenant [1, 6], supprimant ainsi les éléments présents dans l2 de l1. Cela démontre la puissance de la compréhension de liste pour simplifier les opérations complexes en Python.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!