„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > 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?

Veröffentlicht am 06.11.2024
Durchsuche:111

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

Python-Listenersetzung mit bedingter boolescher Logik

Bei einer gegebenen 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 ungeradzahlige 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 gleichzeitig übereinstimmende Elemente ersetzt werden:

new_items = [x if x % 2 else None for x in items]

In diesem Beispiel Durch 2 teilbare Elemente (gerade Zahlen) bleiben erhalten, während ungerade Zahlen durch Keine ersetzt werden.

Lösung 2: In-Place Änderung

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

for index, item in enumerate(items):
    if not (item % 2):
        items[index] = None

Diese Methode durchläuft die Liste und ersetzt ungerade Elemente durch None an Ort und Stelle.

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 zunimmt Liste.

Leistungsbenchmarks

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

Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729160596. Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3