Ik wil een functie in Python schrijven die verschillende vaste waarden teruggeeft op basis van de waarde van een invoerindex.
In andere talen zou ik een switch
of case
statement gebruiken, maar Python lijkt geen switch
statement te hebben. Wat zijn de aanbevolen Python oplossingen in dit scenario?
Ik heb het altijd graag op deze manier gedaan.
result = {
'a': lambda x: x * 5,
'b': lambda x: x + 7,
'c': lambda x: x - 2
}[value](x)
Als je echt alleen een vooraf bepaalde, vaste waarde wilt teruggeven, zou je een woordenboek kunnen maken met alle mogelijke invoerindexen als de sleutels, samen met hun overeenkomstige waarden. Ook zou je niet echt willen dat een functie dit doet - tenzij je op de een of andere manier de terugkeerwaarde berekent.
Oh, en als je zin hebt om iets switch-achtigs te doen, zie hier.