Ce face dict.setdefault()
setdefault(cheie, implicit) verifică dacă cheia există. Dacă da, returnează valoarea ei. Dacă nu, setează d[cheie] = implicit și returnează implicit. Este util pentru gruparea datelor în liste.
Pentru același scop, collections.defaultdict este adesea mai clar și mai rapid.
Parametri
| Parametru | Descriere |
|---|---|
cheie |
Cheia căutată. |
implicit |
Valoarea adăugată dacă cheia lipsește. |
Ce returnează
Valoarea cheii (existentă sau nou adăugată).
Exemple
Exemplul 1: Gruparea pe categorii
produse = [("fructe", "mere"), ("lactate", "lapte"), ("fructe", "pere")]
pe_categorii = {}
for categorie, produs in produse:
pe_categorii.setdefault(categorie, []).append(produs)
print(pe_categorii)
setari = {"limba": "ro"}
print(setari.setdefault("limba", "en"), setari.setdefault("tema", "luminoasă"))
print(setari)
Rezultat
{'fructe': ['mere', 'pere'], 'lactate': ['lapte']}
ro luminoasă
{'limba': 'ro', 'tema': 'luminoasă'}
Greșeli frecvente
- Folosești
setdefaultdoar ca să citești o valoare. Metoda modifică dicționarul când cheia lipsește; pentru simpla citire foloseșteget().
Comenzi înrudite
collections.defaultdict: Un dicționar care creează automat o valoare implicită pentru cheile lipsă.dict.get(): Citește valoarea unei chei; dacă cheia lipsește, returnează o valoare implicită în loc de eroare.dict.update() și operatorul |: Adaugă sau suprascrie mai multe chei deodată, dintr-un alt dicționar sau din perechi.