Para recorrer los elementos de un objeto diccionario de Python con una sentencia for, utilice el siguiente método en el objeto diccionario, que también puede combinarse con list() para obtener una lista de todas las claves y valores del diccionario.
keys()
:Procesamiento del bucle para cada clave de elementovalues()
:Procesamiento del bucle For para cada valor del elementoitems()
:Procesamiento del bucle For para la clave y el valor de cada elemento
El siguiente objeto de diccionario es un ejemplo.
d = {'key1': 1, 'key2': 2, 'key3': 3}
Las claves se pueden obtener girando el objeto diccionario en una sentencia for tal cual.
for k in d: print(k) # key1 # key2 # key3
keys(): Procesamiento del bucle para cada clave de elemento
Como se ha mencionado anteriormente, las claves se pueden obtener girando el objeto diccionario tal y como está en una sentencia for, pero también se puede utilizar el método keys().
for k in d.keys(): print(k) # key1 # key2 # key3
El método keys() devuelve la clase dict_keys. Si quieres hacer una lista, puedes usar la función list().
keys = d.keys() print(keys) print(type(keys)) # dict_keys(['key1', 'key2', 'key3']) # <class 'dict_keys'> k_list = list(d.keys()) print(k_list) print(type(k_list)) # ['key1', 'key2', 'key3'] # <class 'list'>
DICT_KEYS es capaz de realizar operaciones de conjunto.
values(): Procesamiento del bucle For para cada valor del elemento
Si desea realizar un procesamiento de bucle for para cada valor del elemento, utilice el método values().
for v in d.values(): print(v) # 1 # 2 # 3
El método values() devuelve la clase dict_values. Si quieres hacer una lista, puedes utilizar la función list().
values = d.values() print(values) print(type(values)) # dict_values([1, 2, 3]) # <class 'dict_values'> v_list = list(d.values()) print(v_list) print(type(v_list)) # [1, 2, 3] # <class 'list'>
Debido a que los valores pueden superponerse, no se admite la operación de conjunto de dict_values.
items(): Procesamiento del bucle For para la clave y el valor de cada elemento
Si desea realizar un proceso de bucle for para la clave y el valor de cada elemento, utilice el método items().
for k, v in d.items(): print(k, v) # key1 1 # key2 2 # key3 3
(key, value)
Por lo tanto, se puede recibir como una tupla.
for t in d.items(): print(t) print(type(t)) print(t[0]) print(t[1]) print('---') # ('key1', 1) # <class 'tuple'> # key1 # 1 # --- # ('key2', 2) # <class 'tuple'> # key2 # 2 # --- # ('key3', 3) # <class 'tuple'> # key3 # 3 # ---
El método items() devuelve la clase dict_items. Si quieres hacer una lista, puedes usar la función list(). Cada elemento es una tupla.(key, value)
items = d.items() print(items) print(type(items)) # dict_items([('key1', 1), ('key2', 2), ('key3', 3)]) # <class 'dict_items'> i_list = list(d.items()) print(i_list) print(type(i_list)) # [('key1', 1), ('key2', 2), ('key3', 3)] # <class 'list'> print(i_list[0]) print(type(i_list[0])) # ('key1', 1) # <class 'tuple'>
DICT_ITEMS también puede realizar operaciones de fijación.