Dicționar Python (dict) pentru procesarea în buclă: keys(), values(), items()

Afaceri

Pentru a parcurge în buclă elementele unui obiect dicționar Python cu o instrucțiune for, utilizați următoarea metodă asupra obiectului dicționar, care poate fi, de asemenea, combinată cu list() pentru a obține o listă a tuturor cheilor și valorilor din dicționar.

  • keys():Procesare în buclă pentru fiecare element cheie
  • values():Procesare în buclă pentru fiecare valoare a elementului
  • items():Prelucrare în buclă pentru cheia și valoarea fiecărui element

Următorul obiect dicționar este un exemplu.

d = {'key1': 1, 'key2': 2, 'key3': 3}

Cheile pot fi obținute prin transformarea obiectului dicționar într-o instrucțiune for așa cum este ea.

for k in d:
    print(k)
# key1
# key2
# key3

keys(): Procesare în buclă pentru fiecare element cheie

După cum s-a menționat mai sus, cheile pot fi obținute prin transformarea obiectului dicționar așa cum se află într-o instrucțiune for, dar poate fi utilizată și metoda keys().

for k in d.keys():
    print(k)
# key1
# key2
# key3

Metoda keys() returnează clasa dict_keys. Dacă doriți să creați o listă, puteți utiliza funcția 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 este capabil să efectueze operații de set.

values(): Procesare în buclă pentru fiecare valoare a elementului

Dacă doriți să efectuați procesarea în buclă pentru fiecare valoare a elementului, utilizați metoda values().

for v in d.values():
    print(v)
# 1
# 2
# 3

Metoda values() returnează clasa dict_values. Dacă doriți să creați o listă, puteți utiliza funcția 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'>

Deoarece valorile se pot suprapune, nu este acceptată operația de stabilire a valorilor dict_values.

items(): Prelucrare în buclă pentru cheia și valoarea fiecărui element

Dacă doriți să efectuați un proces de tip „for loop” atât pentru cheia, cât și pentru valoarea fiecărui element, utilizați metoda items().

for k, v in d.items():
    print(k, v)
# key1 1
# key2 2
# key3 3

(key, value)Astfel, acesta poate fi primit ca un tupluplu.

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
# ---

Metoda items() returnează clasa dict_items. Dacă doriți să creați o listă, puteți utiliza funcția list(). Fiecare element este un tuple.
(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 poate efectua, de asemenea, operații de setare.