Maison > développement back-end > Tutoriel Python > Comment pouvons-nous partitionner efficacement une liste en fonction d'un filtre conditionnel ?

Comment pouvons-nous partitionner efficacement une liste en fonction d'un filtre conditionnel ?

Patricia Arquette
Libérer: 2024-12-03 15:58:15
original
596 Les gens l'ont consulté

How Can We Efficiently Partition a List Based on a Conditional Filter?

Partitionnement efficace des listes basé sur un filtrage conditionnel

Considérez la nécessité de diviser une liste en deux sous-listes en fonction d'une condition. Une approche naïve impliquerait de parcourir la liste deux fois, une fois pour chaque sous-liste. À la recherche d'une alternative efficace et élégante, nous explorons plusieurs options.

Une approche consiste à parcourir manuellement la liste et à ajouter dynamiquement chaque élément à la sous-liste appropriée en fonction de la vérification conditionnelle. Ceci est démontré dans le code ci-dessous :

good, bad = [], []
for x in mylist:
    (bad, good)[x in goodvals].append(x)
Copier après la connexion

Dans ce code, l'expression (mauvaise, bonne) est évaluée comme mauvaise ou bonne en fonction de la valeur booléenne de x dans goodvals. La méthode append() de la sous-liste sélectionnée est ensuite invoquée pour ajouter l'élément actuel.

En éliminant le besoin de plusieurs itérations et en utilisant des compréhensions de liste concises, cette approche offre à la fois des avantages en termes de performances et de lisibilité du code par rapport aux deux- mise en œuvre de l'itération.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal