Operator einlesen oder als Operator umwandeln

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
ete
User
Beiträge: 218
Registriert: Montag 19. Februar 2007, 13:19
Kontaktdaten:

Donnerstag 15. November 2007, 16:41

Hallo!

Ist es irgendwie möglich Operatoren direkt aus Dictionaries oder Listen zu lesen? Oder falls nicht sie dann als String zu lesen und in einen Operator umzuwandeln.

Idee ist:

dict = {'a': '/' , '1000', 'b': '*' , '153', } etc. und daraus dann

wenn a, dividiere mit 1000, wenn b multipliziere mit 153.

Ist so was machbar?

Liebe Grüsse

Stefanie
BlackJack

Donnerstag 15. November 2007, 17:04

Die ganzen Operatoren gibt's im `operator`-Modul als Funktionen.

Code: Alles auswählen

from operator import mul, truediv

def main():
    d = {'a': (truediv, 1000),
         'b': (mul, 153)}
    x = 42
    operation, value = d['a']
    print operation(x, value)
ete
User
Beiträge: 218
Registriert: Montag 19. Februar 2007, 13:19
Kontaktdaten:

Freitag 16. November 2007, 13:12

Danke, wieder was neues gelernt :D
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Freitag 16. November 2007, 20:42

Ansonsten kann man sich die operatoren Funktionen auch mit ganz einfachen lambdas bauen.
TUFKAB – the user formerly known as blackbird
Antworten