Counter e defaultdict in pratica
Contare gli elementi senza errori dovuti a chiavi mancanti
Counter e defaultdict in pratica è una lezione Coding Interview Prep gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Coding Interview Prep, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Coding Interview Prep include 4 lezioni in totale.
Contare diventa facile
Contare quante volte compaiono gli elementi è fondamentale nelle gare. Il modulo collections offre due strumenti che rendono il conteggio semplice. 🧮
Il problema delle chiavi mancanti
I dict normali generano un KeyError quando incrementa una chiave che ancora non esiste. Strutture speciali eliminano questo inconveniente.
Ecco Counter
Un Counter conta gli elementi di qualsiasi iterabile in una sola riga, assegnando a ogni elemento la sua frequenza come valore. Le chiavi assenti valgono semplicemente zero.
from collections import Counter
freq = Counter(nums)Leggere un conteggio
Acceda a un Counter come a un dict, ma una chiave mancante restituisce zero invece di causare un errore. In questo modo le ricerche sono completamente sicure.
print(freq[5])
print(freq[999])Gli elementi più frequenti
Chiami most_common per ottenere gli elementi ordinati dal conteggio più alto a quello più basso. Passi un numero per limitare il numero di elementi principali restituiti.
top3 = freq.most_common(3)I Counter eseguono operazioni matematiche
Può sommare o sottrarre due Counter per combinare i conteggi. Le chiavi corrispondenti vengono unite e i totali vengono allineati automaticamente.
total = Counter(a) + Counter(b)Ecco defaultdict
Un defaultdict fornisce un valore predefinito nuovo per ogni chiave nuova, quindi non deve mai controllarne prima l'esistenza. Gli assegna la factory predefinita.
from collections import defaultdict
count = defaultdict(int)Incrementare senza controlli
Con defaultdict(int), una chiave mancante parte da zero, quindi può incrementarla direttamente. Nel ciclo non serve alcun controllo con if-in.
for v in nums:
count[v] += 1Liste come valore predefinito
Utilizzi defaultdict(list) quando ogni chiave raccoglie molti valori. Aggiungere un elemento a una chiave appena creata avvia semplicemente una nuova lista vuota.
groups = defaultdict(list)
groups[key].append(item)Counter o defaultdict
Scelga Counter quando deve soltanto contare gli elementi, e defaultdict quando ogni chiave richiede liste, set o valori predefiniti personalizzati. 🎯
Un anagramma in una riga
Due parole sono anagrammi esattamente quando i loro Counter sono uguali. Il confronto gestisce contemporaneamente la frequenza di ogni lettera.
is_anagram = Counter(s) == Counter(t)Verifica rapida
Vuole contare le occorrenze incrementando in sicurezza le chiavi mancanti.
Riepilogo
Counter conta gli elementi all'istante e li ordina per frequenza, mentre defaultdict evita i controlli sulle chiavi mancanti per conteggi, liste o set. Entrambi eliminano il codice ripetitivo. 🚀
Domande Frequenti
La lezione «Counter e defaultdict in pratica» è gratuita?
Sì — il testo completo di «Counter e defaultdict in pratica» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Coding Interview Prep, passa a CoddyKit PRO. Il corso Coding Interview Prep include 4 lezioni in totale.
Cosa imparerò in «Counter e defaultdict in pratica»?
Contare gli elementi senza errori dovuti a chiavi mancanti Eserciti Coding Interview Prep con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Coding Interview Prep?
Non è richiesta alcuna esperienza precedente. Coding Interview Prep su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Counter e defaultdict in pratica»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Coding Interview Prep?
Sì. Ogni lezione Coding Interview Prep include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Set per appartenenza e deduplicazione
- Dizionari come tabelle di lookup
- Counter e defaultdict in pratica
- Raggruppare e suddividere in bucket con una map