[pyar] Seleccionar valores de un diccionario de tuplas

John Rowland Lenton john.lenton en canonical.com
Mie Sep 15 10:37:22 ART 2010


On Wed, Sep 15, 2010 at 01:54:52PM +0200, Alejandro Alcalde wrote:
> Hola, Tengo un problema en el que llevo pensando como resolver desde hace 2
> dias, y no le encuentro solucion, y me decidi a preguntarle a ustedes a ver
> si pueden ayudarme.
> 
> Bueno, el caso es que tengo lo siguiente:
> 
> niveles =
> ("1(A1)","2(A1)","3(A2)","4(A2)","5(B1)","6(B1)","1-1","1-2","2-1","2-2",">3")
> 
>     temas = { niveles[0] : ("1","2","3","4","5","6","7"),
>               niveles[1] : ("8","9","10","11","12","13","14"),
>               niveles[2] : ("15","16","17","18","19","20","21"),
>               niveles[3] : ("22","23","24","25","26","27","28"),
>               niveles[4] : ("29","30","31","32","33","34","35"),
>               niveles[5] : ("36","37","38","39","40","41","42"),
>               niveles[6] : ("43","44","45","46"),
>               niveles[7] : ("47","48","49","50"),
>               niveles[8] : ("51","52","53","54"),
>               niveles[9] : ("55","56","57","58"),
>               niveles[10] :
> ("59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74",)}
> 
> Bien, pues mi problemas es, que en otro lugar, tengo una variable que
> almacena un valor de temas, por ejemplo el 1, que esta e niveles[0].
> El caso es que nose de que manera puedo obtener, a partir de ese 1, el valor
> de niveles[0], niveles[1], o el que sea, dependiendo del numero.
> Para el caso del 1, deberia obtener 1(A1), es decir, el valor de niveles[0].
> 
> Gracias, y espero que puedan ayudarme.

asumiendo que los temas son únicos (es decir, que un tema no vaya a
dos niveles) y si tenés memoria de sobra (no mucha, digo, si no te
preocupa demasiado), podés hacer

  tema2nivel = dict((t,n) for (n, ts) in temas.items() for t in ts)
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: Digital signature
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20100915/d798243b/attachment.sig>


More information about the pyar mailing list