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.
ete
User
Beiträge: 218
Registriert: Montag 19. Februar 2007, 13:19
Kontaktdaten:

Operator einlesen oder als Operator umwandeln

Beitragvon ete » 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

Beitragvon 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:

Beitragvon ete » Freitag 16. November 2007, 13:12

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

Beitragvon mitsuhiko » 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

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder