> In questi casi, io dico solo che puoi: > > 1. associare alle chiavi delle lambda > > {'a': lambda: ..., > 'b': lambda: ..., > ...}[k]() > > 2. associare alle chiavi delle funzioni fatte con def > > def cl1(...): ... > def cl2(...): ... > > {'a': cl1, > 'b': cl2, > ...}[k]() > > 3. usare una classe (o al limite un modulo) > > class Dispatch(object): > def a(...): ... > > def b(...): ... > ... > > getattr(Dispatch(), k)() > > > Per il poco che so esiste anche elif che trovo piĆ¹ immediato rispetto alle altre soluzioni, anche se meno "figo" e forse in certi casi meno efficiente
4. usare gli elif: if test=='a': print 1 elif test=='b': print 2 elif .... -- ---------------------------------------------------------------------- Giuseppe Amato e-mail: giuam...@gmail.com
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python