Heim  >  Artikel  >  Backend-Entwicklung  >  Wie ersetze ich Elemente in einer Python-Liste basierend auf bedingter boolescher Logik?

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

Linda Hamilton
Linda HamiltonOriginal
2024-10-17 18:24:03112Durchsuche

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>

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>

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!

Stellungnahme:
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