Maison  >  Article  >  développement back-end  >  Comment remplacer des éléments dans une liste Python basée sur une logique booléenne conditionnelle ?

Comment remplacer des éléments dans une liste Python basée sur une logique booléenne conditionnelle ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-17 18:24:03112parcourir

How to Replace Elements in a Python List Based on Conditional Boolean Logic?

Remplacement de la liste Python par une logique booléenne conditionnelle

Étant donné une liste de valeurs, vous souhaiterez peut-être remplacer sélectivement des éléments spécifiques par Aucun en fonction d'un condition. La condition, définie par une fonction condition(), peut déterminer s'il faut remplacer un élément en fonction de sa valeur. Cette question explore différentes manières de réaliser ce remplacement en Python tout en fournissant un exemple de condition qui remplace les éléments impairs.

Solution 1 : Compréhension de liste

Le moyen le plus efficace pour effectuer ce remplacement, il faut utiliser une compréhension de liste. Cette approche génère une nouvelle liste, préservant l'ordre d'origine tout en remplaçant les éléments correspondants :

<code class="python">new_items = [x if x % 2 else None for x in items]</code>

Dans cet exemple, les éléments divisibles par 2 (nombres pairs) sont conservés, tandis que les nombres impairs sont remplacés par Aucun.

Solution 2 : Modification sur place

Alternativement, vous pouvez modifier directement la liste d'origine. Cependant, cette approche est légèrement moins efficace :

<code class="python">for index, item in enumerate(items):
    if not (item % 2):
        items[index] = None</code>

Cette méthode parcourt la liste et remplace les éléments impairs par Aucun sur place.

Analyse de la complexité temporelle

Les deux solutions ont une complexité temporelle linéaire de O(n), indiquant que leur durée d'exécution augmente proportionnellement au nombre d'éléments dans la liste.

Benchmarks de performances

Les benchmarks de performances montrent des différences négligeables entre les deux solutions. Cependant, pour les grandes listes, la compréhension de la liste est légèrement plus rapide.

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