[Python-es] escogencia arbitraria en un diccionario
Arnau Sanchez
pyarnau en gmail.com
Vie Jul 23 21:02:43 CEST 2010
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')
Más información sobre la lista de distribución Python-es