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știRuntimeError: dictionary changed size during iteration. Parcurge o copie:list(d.items()). - Încerci
d.keys()[0]: vederile nu au index. Foloseștenext(iter(d))saulist(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.