dict.items(), keys() și values() în Python

Returnează perechile, cheile sau valorile unui dicționar, pentru parcurgere.

Sintaxă
dictionar.items()
dictionar.keys()
dictionar.values()

Ce face dict.items(), keys() și values()

items() dă perechile (cheie, valoare), keys() cheile, iar values() valorile, în ordinea adăugării. Cel mai des le folosești în bucle: for cheie, valoare in d.items():.

Rezultatele sunt „vederi” (views): reflectă imediat modificările dicționarului și nu sunt liste. Pentru o listă, folosește list(d.keys()). keys() și items() suportă operații de mulțime: d1.keys() & d2.keys() dă cheile comune.

Ce returnează

Obiecte dict_items, dict_keys, dict_values.

Exemple

Exemplul 1: Parcurgere

preturi = {"pâine": 4.5, "lapte": 7, "cafea": 32.9}
for produs, pret in preturi.items():
    print(f"{produs}: {pret} lei")
print(list(preturi.keys()))
print(sum(preturi.values()))

Rezultat

pâine: 4.5 lei
lapte: 7 lei
cafea: 32.9 lei
['pâine', 'lapte', 'cafea']
44.4

Exemplul 2: Vederile se actualizează și operații de mulțime

stoc = {"mere": 5, "pere": 0}
chei = stoc.keys()
stoc["prune"] = 8
print(chei)
magazin2 = {"pere": 3, "caise": 9}
print(sorted(stoc.keys() & magazin2.keys()))
print(sorted(stoc.keys() | magazin2.keys()))

Rezultat

dict_keys(['mere', 'pere', 'prune'])
['pere']
['caise', 'mere', 'pere', 'prune']

Greșeli frecvente

  • Adaugi sau ștergi chei în timp ce parcurgi d.items() și primești RuntimeError: dictionary changed size during iteration. Parcurge o copie: list(d.items()).
  • Încerci d.keys()[0]: vederile nu au index. Folosește next(iter(d)) sau list(d)[0].

Comenzi înrudite

  • dict (dicționare): Dicționarul păstrează perechi cheie: valoare și găsește rapid valoarea după cheie.
  • for: Parcurge, pe rând, fiecare element dintr-o listă, text, dicționar sau alt obiect iterabil.
  • dict.get(): Citește valoarea unei chei; dacă cheia lipsește, returnează o valoare implicită în loc de eroare.