Seite 1 von 1

Operator einlesen oder als Operator umwandeln

Verfasst: Donnerstag 15. November 2007, 16:41
von ete
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

Verfasst: Donnerstag 15. November 2007, 17:04
von BlackJack
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)

Verfasst: Freitag 16. November 2007, 13:12
von ete
Danke, wieder was neues gelernt :D

Verfasst: Freitag 16. November 2007, 20:42
von mitsuhiko
Ansonsten kann man sich die operatoren Funktionen auch mit ganz einfachen lambdas bauen.