Τοποθέτηση μιας απλής δήλωσης if-then-else σε μία γραμμή

Πιθανό αντίγραφο: Τριαδικός τελεστής Python

Λύση

Αυτό'είναι πιο συγκεκριμένα μια έκφραση τριμερής τελεστής παρά ένα if-then, εδώ'είναι η σύνταξη της python

value_when_true if condition else value_when_false

Καλύτερο παράδειγμα: (χάρη στον Mr. Burns)

'Ναι' if fruit == 'Apple' else 'No'

Τώρα με ανάθεση και αντίθεση με τη σύνταξη if

fruit = 'Apple'
isApple = True if fruit == 'Apple' else False

vs

fruit = 'Apple'
isApple = False
if fruit == 'Apple' : isApple = True
Σχόλια (13)
count = 0 if count == N else N+1

- ο τριμερής τελεστής. Αν και θα έλεγα ότι η λύση σας είναι πιο ευανάγνωστη από αυτή.

Σχόλια (0)

Γενική τριαδική σύνταξη:

value_true if  else value_false

Ένας άλλος τρόπος μπορεί να είναι:

[value_false, value_true][]

π.χ:

count = [0,N+1][count==N]

Αυτό αξιολογεί και τους δύο κλάδους πριν επιλέξει έναν. Για να αξιολογήσετε μόνο τον επιλεγμένο κλάδο:

[lambda: value_false, lambda: value_true][]()

π.χ:

count = [lambda:0, lambda:N+1][count==N]()
Σχόλια (10)