Wie ersetze ich Elemente in einer Python-Liste basierend auf bedingter boolescher Logik?

Linda Hamilton
Freigeben: 2024-10-17 18:24:03
Original
244 Leute haben es durchsucht

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

Python-Listenersetzung mit bedingter boolescher Logik

Anhand einer Liste von Werten möchten Sie möglicherweise bestimmte Elemente basierend auf a selektiv durch „Keine“ ersetzen Zustand. Die durch eine Funktion „condition()“ definierte Bedingung kann anhand seines Werts bestimmen, ob ein Element ersetzt werden soll. Diese Frage untersucht verschiedene Möglichkeiten, diese Ersetzung in Python zu erreichen, und stellt gleichzeitig eine Beispielbedingung bereit, die ungerade Elemente ersetzt.

Lösung 1: Listenverständnis

Der effizienteste Weg Um diese Ersetzung durchzuführen, muss ein Listenverständnis verwendet werden. Dieser Ansatz generiert eine neue Liste, wobei die ursprüngliche Reihenfolge erhalten bleibt und übereinstimmende Elemente ersetzt werden:

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

In diesem Beispiel werden Elemente, die durch 2 teilbar sind (gerade Zahlen), beibehalten, während ungerade Zahlen durch Keine ersetzt werden.

Lösung 2: In-Place-Änderung

Alternativ können Sie die Originalliste direkt ändern. Dieser Ansatz ist jedoch geringfügig weniger effizient:

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

Diese Methode iteriert über die Liste und ersetzt ungeradzahlige Elemente durch None in-place.

Zeitkomplexitätsanalyse

Beide Lösungen haben eine lineare Zeitkomplexität von O(n), was darauf hinweist, dass ihre Laufzeit proportional mit der Anzahl der Elemente in der Liste zunimmt.

Leistungsbenchmarks

Leistungsbenchmarks zeigen vernachlässigbare Unterschiede zwischen den beiden Lösungen. Bei großen Listen ist das Listenverständnis jedoch etwas schneller.

Das obige ist der detaillierte Inhalt vonWie ersetze ich Elemente in einer Python-Liste basierend auf bedingter boolescher Logik?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage