[pyar] Randomizar diccionarios para un programa.

Gabriel gepatino en gmail.com
Mie Mayo 16 17:36:19 ART 2012


El 16 de mayo de 2012 16:34, Javier Marín
<nano.world.contact en gmail.com>escribió:

> Voy a tener que probarla y ver como funciona, no se me había ocurrido eso
> para ser sincero, aunque en mi infinita novatez, me queda la duda de que es
> exactamente:
>
> preguntas_respuestas[clavealazar][0]
>
> Osea, el indice [0] que indica exactamente? Se que muestra las opciones
> pero de verdad no conocía este tipo de funcionalidad con los diccionarios.
>
>
Creo que quedaste un poco mareado despues de tantas opciones :)

El indice [0] no es una funcionalidad de los diccionarios, el tema es asi:

En los diccionarios solo tenes una clave y un valor, y accedes siempre por
la clave.

En el diccionario que te paso Alan, el valor que se guarda en cada posicion
del diccionario es una tupla. Y a las posiciones de la tupla accedes con un
indice numerico (ese [0]).

El codigo:

print preguntas_respuestas[clavealazar][0]

es equivalente a:

opciones = preguntas_respuestas[clavealazar]
print opciones[0]


O sea, el primer indice te devuelve el valor que se almacena en el
diccionario para la clave clavealazar. En este caso es una tupla, entonces
el segundo par de [] aplica a esa tupla que te devolvió el primer par.

Si los valores de un diccionario fueran strings, podrias hacer:

print diccionario[clave].upper()

Esto no quiere decir que los diccionarios tengan un metodo upper, sino que
estas ejecutando el metodo upper en lo que tengas guardado en el
diccionario para esa clave.


Ojo, usalo con cuidado:

Podrias encadenar indices y llamados a métodos de forma morbosa y hacer
alguna barbaridad incomprensible en una sola linea de código.
Va a funcionar, pero no lo va a entender ni magoya.

-- 
Gabriel E. Patiño
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20120516/fc1c546b/attachment.html>


More information about the pyar mailing list