Heim  >  Artikel  >  Backend-Entwicklung  >  Wie verwende ich die if-else-Logik im Python-Listenverständnis?

Wie verwende ich die if-else-Logik im Python-Listenverständnis?

Barbara Streisand
Barbara StreisandOriginal
2024-11-06 05:43:02862Durchsuche

How to Use if-else Logic in Python List Comprehension?

Verwendung von if-else-Anweisungen im Listenverständnis

In Python bietet das Listenverständnis eine übersichtliche Möglichkeit, Listenelemente zu ändern und zu filtern. Eine häufige Herausforderung besteht darin, eine If-Else-Logik innerhalb dieses Konstrukts zu implementieren. In diesem Artikel wird untersucht, wie Sie dieses Hindernis überwinden können.

Der Syntaxfehler

Beim Versuch, die if-else-Syntax in einem Listenverständnis wie folgt zu verwenden:

[x+1 for x in l if x >= 45 else x+5]

Möglicherweise tritt ein Syntaxfehler auf. Dies liegt daran, dass die Standard-Python-Syntax für if-else-Anweisungen die Verwendung der Schlüsselwörter if und else gefolgt von den entsprechenden Codeblöcken erfordert.

Der richtige Ansatz

Zu Um ein if-else-ähnliches Verhalten in einem Listenverständnis zu erreichen, können Sie die Syntax für bedingte Ausdrücke verwenden:

[expression_if_true if condition else expression_if_false for x in l]

Beispiel:

Betrachten wir das im bereitgestellte Beispiel Frage, bei der wir 1 zu Zahlen größer oder gleich 45 und 5 zu Zahlen kleiner als 45 in einer Liste hinzufügen möchten:

l = [22, 13, 45, 50, 98, 69, 43, 44, 1]
result = [x+1 if x >= 45 else x+5 for x in l]

print(result)

Output:
[27, 18, 46, 51, 99, 70, 48, 49, 6]

In diesem Beispiel ist der bedingte Ausdruck x 1, wenn x >= 45 sonst x 5 gibt an, dass der geänderte Wert x 1 sein soll, wenn x größer oder gleich 45 ist; andernfalls sollte es x 5 sein.

Das obige ist der detaillierte Inhalt vonWie verwende ich die if-else-Logik im Python-Listenverständnis?. 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