> 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: [email protected]
_______________________________________________
Python mailing list
[email protected]
http://lists.python.it/mailman/listinfo/python