Los métodos keys(), values() y items() de los diccionarios en Python

Hay tres métodos de diccionario que devolverán valores tipo lista de las claves, valores o ambas: keys(), values() y items(). Los valores devueltos por estos métodos no son verdaderas listas: no pueden ser modificados y no tienen un método append(). Pero estos tipos de datos (dict_keys, dict_values y dict_items, respectivamente) pueden utilizarse en los bucles for. Para ver cómo funcionan estos métodos, introduzca lo siguiente en el shell interactivo:

>>> spam = {'color': 'red', 'age': 42}
>>> for v in spam.values():
...     print(v)

red
42

Aquí, un bucle for itera sobre cada uno de los valores del diccionario de spam. Un bucle for también puede iterar sobre las claves o tanto las claves como los valores:

>>> for k in spam.keys():
...     print(k)

color
age
>>> for i in spam.items():
...     print(i)

('color', 'red')
('age', 42)

Cuando se utilizan los métodos keys(), values() y items(), un bucle for puede iterar sobre las claves, valores o pares clave-valor de un diccionario, respectivamente. Observe que los valores en el valor dict_items devuelto por el método items() son tuplas de la clave y el valor.

Si quieres una lista verdadera de uno de estos métodos, pasa su valor de retorno tipo lista a la función list(). Introduzca lo siguiente en el shell interactivo:

>>> spam = {'color': 'red', 'age': 42}
>>> spam.keys()
dict_keys(['color', 'age'])
>>> list(spam.keys())
['color', 'age']

La línea list(spam.keys()) toma el valor de dict_keys devuelto por keys() y lo pasa a list(), que devuelve un valor de lista de ['color', 'age'].

También puede utilizar el truco de la asignación múltiple en un bucle for para asignar la clave y el valor a variables separadas. Introduzca lo siguiente en el shell interactivo:

>>> spam = {'color': 'red', 'age': 42}
>>> for k, v in spam.items():
...     print('Key: ' + k + ' Value: ' + str(v))

Key: age Value: 42
Key: color Value: red

Deja una respuesta