Ce face dict.fromkeys()
dict.fromkeys(chei, v) se apelează pe clasă și creează un dicționar în care fiecare cheie primește valoarea v (implicit None).
Este și un truc des folosit pentru a elimina duplicatele dintr-o listă păstrând ordinea: list(dict.fromkeys(lista)).
Parametri
| Parametru | Descriere |
|---|---|
chei |
Colecția de chei. |
valoare |
Opțional. Valoarea comună. |
Ce returnează
Un dicționar nou.
Exemple
Exemplul 1: Inițializare și eliminarea duplicatelor
prezenta = dict.fromkeys(["Ana", "Dan", "Ioana"], False)
print(prezenta)
orase = ["Iași", "Cluj", "Iași", "Arad", "Cluj"]
print(list(dict.fromkeys(orase)))
Rezultat
{'Ana': False, 'Dan': False, 'Ioana': False}
['Iași', 'Cluj', 'Arad']
Exemplul 2: Capcana valorii comune modificabile
grupuri = dict.fromkeys(["a", "b"], [])
grupuri["a"].append(1)
print(grupuri)
corect = {cheie: [] for cheie in ["a", "b"]}
corect["a"].append(1)
print(corect)
Rezultat
{'a': [1], 'b': [1]}
{'a': [1], 'b': []}
Greșeli frecvente
- Dai o listă ca valoare: toate cheile împart aceeași listă. Folosește o comprehension:
{k: [] for k in chei}.
Comenzi înrudite
dict (dicționare): Dicționarul păstrează perechi cheie: valoare și găsește rapid valoarea după cheie.set (mulțimi): Mulțimea este o colecție fără duplicate și fără ordine, utilă pentru valori unice și operații de reuniune sau intersecție.List comprehension: Construiește o listă nouă dintr-o altă colecție, într-un singur rând.