Iterando
Contents
Iterando
Los diccionarios son secuencia y por lo tanto pueden ser iterados.
Anteriormente se usaba el metodo keys
para obtener las llaves, así como items
para obtener los elementos. Ambos métodos devuelven una lista con las llaves o los valores en el diccionario. Existe otro método con el que se obtiene una lista de tuplas, con dos elementos cada tupla, la llave y el valor, este metodo es iteritems
. En versiones mas nuevas de Python no es necesario, iterar un diccionario es iterar sobre sus llaves, de hecho, en Python 3 iteritems
no esta disponible.
>>> datos = {"nombre": "Marco Antonio", "apellidos": "Islas Cruz"} >>> for i in datos: ... print i ... apellidos nombre
Como podemos ver, iterar un diccionario nos devuelve las llaves, usando iteritems sería algo asi:
>>> datos = {"nombre": "Marco Antonio", "apellidos": "Islas Cruz"} >>> for i in datos.iteritems(): ... print i ... ('apellidos', 'Islas Cruz') ('nombre', 'Marco Antonio')
Pero, si ya no está disponible en Python 3, como obtengo los valores?, fácil:
>>> datos = {"nombre": "Marco Antonio", "apellidos": "Islas Cruz"} >>> for i in datos: ... print(i), ... print(datos[i]) ... apellidos Islas Cruz nombre Marco Antonio
Pero.. que si yo lo quiero ordenado?. Generalmente no es una recomendación, si requieres datos ordenados entonces usa “listas y tuplas”, en su defecto es mejor que obtengas la lista de las llaves, la ordenes y la iteres.
>>> b = {"a":"b", "c":"d","e":"f","x":"y","z":"j"} >>> b {'a': 'b', 'x': 'y', 'c': 'd', 'z': 'j', 'e': 'f'} >>> keys = b.keys() >>> keys.sort() >>> for k in keys: ... print k, b[k] ... a b c d e f x y z j
Usando keys
podemos iterar usando while
tal como vimos en el ejemplo de listas y tuplas.
Si te gusta el tutorial, por favor mándame un mensaje, mi twitter: @markuzmx , tal vez te gustó tanto que prefieras hacer una donación via paypal la cantidad tu la pones ? Gracias por apoyarme.
You must be logged in to take the quiz.