dictionary Accede a un elemento arbitrario en un diccionario en Python




6 Answers

Si solo necesita acceder a un elemento (siendo el primero por casualidad, ya que los dicts no garantizan el pedido), simplemente puede hacer esto en Python 2 :

my_dict.keys()[0]     -> key of "first" element
my_dict.values()[0]   -> value of "first" element
my_dict.items()[0]    -> (key, value) tuple of "first" element

Tenga en cuenta que (según mi conocimiento) Python no garantiza que 2 llamadas sucesivas a cualquiera de estos métodos regresen a la lista con el mismo pedido. Esto no es compatible con Python3.

python dictionary

Si un mydict no está vacío, mydict a un elemento arbitrario como:

mydict[mydict.keys()[0]]

¿Hay alguna manera mejor de hacer esto?




para obtener una llave

next(iter(mydict))

para obtener un valor

next(iter(mydict.values()))

para obtener ambos

next(iter(mydict.items())) # or next(iter(mydict.viewitems())) in python 2

Los dos primeros son Python 2 y 3. Los dos últimos son flojos en Python 3, pero no en Python 2.




Qué tal esto. No se menciona aquí todavía.

py 2 & 3

a = {"a":2,"b":3}
a[list(a)[0]] # the first element is here
>>> 2



En python3

list(dict.values())[0]



Para Python 2 y 3:

import six

six.next(six.itervalues(d))



La forma más sencilla para python3:

list(dict.keys())[0]



Related