Maison >développement back-end >Tutoriel Python >Comment puis-je partitionner efficacement une liste en fonction d'une condition en Python ?

Comment puis-je partitionner efficacement une liste en fonction d'une condition en Python ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-03 08:45:11728parcourir

How Can I Efficiently Partition a List Based on a Condition in Python?

Partitionnement des listes en fonction de conditions avec une efficacité améliorée

Dans votre tâche de division d'une liste (mylist) en fonction d'une condition spécifiée, l'objectif est de parvenir à cette division avec une plus grande efficacité. Plus précisément, vous souhaitez éviter plusieurs itérations sur la liste et améliorer les performances.

Pour répondre à ces exigences, envisagez l'approche suivante :

  • Parcourez manuellement les éléments de mylist.
  • Pour chaque élément, évaluez s'il remplit la condition (x en goodvals).
  • En fonction du résultat de la condition, ajoutez l'élément soit à la bonne liste, soit à la mauvaise liste.

Cette approche réduit le nombre d'itérations de liste de deux à une, améliorant potentiellement les performances :

good, bad = [], []
for x in mylist:
    (bad, good)[x in goodvals].append(x)

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!

Déclaration:
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