[Python-es] escogencia arbitraria en un diccionario
Oswall Verny Arguedas C.
oswallcr en yahoo.com
Mar Jul 27 17:46:11 CEST 2010
----- Mensaje original ----
De: Arnau Sanchez <pyarnau en gmail.com>
Para: python-es en python.org
Enviado: vie, julio 23, 2010 1:02:43 PM
Asunto: Re: [Python-es] escogencia arbitraria en un diccionario
On Fri, 23 Jul 2010 10:47:40 -0700 (PDT) Oswall Verny Arguedas C. wrote:
> Será posible escoger un par (key:value) arbitrario, o el primero o el
> ultimo, sin conocer los keys.
> Si creo un diccionario, quiero escoger el primer par del diccionario.
A lo ya comentado, una pequeña aportación limitándonos a los
diccionarios estándar (no ordenados):
- obtener un par cualquiera del diccionario, de la implementación
dependerá cuál (excepción StopIteration si vacío):
>>> d = {1: "a", 2: "b", 3: "c"}
>>> d.iteritems().next()
(1, "a")
- escoger los "primeros" N pares (si hay menos, devuelve los que haya):
>>> from itertools import islice
>>> n = 2
>>> list(islice(d.iteritems(), n))
[(1, 'a'), (2, 'b')]
- no veo qué utilidad pueda tener, pero si uno se empeña en saber el
"último" par del diccionario:
>>> def ilast(it):
>>> return reduce(lambda x, y: y, it)
>>> ilast(d.itertems())
(3, 'c')
_______________________________________________
Python-es mailing list
Python-es en python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/
Gracias,
Este me funcionó perfecto: d.iteritems().next()
Oswall
Más información sobre la lista de distribución Python-es