„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 kann man Werte in Python-Listen mithilfe von List Comprehensions effizient ersetzen?

Wie kann man Werte in Python-Listen mithilfe von List Comprehensions effizient ersetzen?

Veröffentlicht am 03.11.2024
Durchsuche:127

How to Efficiently Replace Values in Python Lists Using List Comprehensions?

Werte in einer Liste mit Python ersetzen

In Python müssen Sie möglicherweise bestimmte Werte in einer Liste durch einen anderen Wert ersetzen, z als Keine. Ein gängiger Ansatz besteht darin, die Liste zu durchlaufen, jedes Element anhand einer Bedingung zu prüfen und es zu ersetzen, wenn es die Kriterien erfüllt. Eine effizientere Alternative ist jedoch die Verwendung von Listenverständnissen.

Listenverständnislösung

Ein Listenverständnis ist eine prägnante und elegante Möglichkeit, eine neue Liste durch iterative Anwendung zu erstellen eine Berechnung oder Transformation für jedes Element einer vorhandenen Liste. Um beispielsweise Werte in einer Liste basierend auf einer Bedingung zu ersetzen, können Sie die folgende Syntax verwenden:

new_items = [x if condition(x) else None for x in items]

In diesem Ausdruck gibt der erste Teil (x wenn Bedingung(x)) den Ersatzwert für jedes Element an. Für Elemente, die die Bedingung erfüllen (Bedingung(x) ist wahr), wird der ursprüngliche Wert (x) beibehalten. Für diejenigen, die dies nicht tun, wird der Ersatzwert (in diesem Fall None) verwendet.

Beispiel

Betrachten Sie das Beispiel des Ersetzens ungerader Zahlen durch None in einer Liste :

items = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Replace odd numbers with None
new_items = [x if x % 2 else None for x in items]

# Print the modified list
print(new_items)

Ausgabe:

[None, 1, None, 3, None, 5, None, 7, None, 9, None]

Änderung vor Ort

Während es üblich ist, eine neue Liste wie oben gezeigt zu erstellen, können Sie die ursprüngliche Liste bei Bedarf auch direkt ändern. Es ist jedoch wichtig zu beachten, dass dies im Vergleich zum Listenverständnis-Ansatz nicht wirklich Zeit spart.

Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729160656 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