Esercizi di Rust
Word Frequency Counter in Rust
Count how often each word appears with a HashMap and print the most common ones.
Cosa imparerai
- split_whitespace
- entry().or_insert(0)
- Sorting by count
counts
"the"3"brown"1"dog"1The word is the key, the count is the value
Counting words is a typical job for a hash map: the word is the key and the number of times it appears is the value.
entry(word).or_insert(0) returns the counter for the word, creating it at 0 the first time. The pairs are then sorted by count, highest first, and by word when the counts are equal, so the output is always the same.
Punti chiave
- entry creates the counter the first time.
- Sort by count, then by word.
take(3)keeps the top three.
Esempio Rust eseguibile
main.rs
use std::collections::HashMap;
fn main() {
let text = "the quick brown fox jumps over the lazy dog the end";
let mut counts: HashMap<&str, u32> = HashMap::new();
for word in text.split_whitespace() {
*counts.entry(word).or_insert(0) += 1;
}
let mut entries: Vec<(&str, u32)> = counts.into_iter().collect();
entries.sort_by(|a, b| b.1.cmp(&a.1).then(a.0.cmp(b.0)));
for (word, count) in entries.iter().take(3) {
println!("{word}: {count}");
}
}
the: 3
brown: 1
dog: 1Esercitati
Apri l'esempio nel compilatore online, cambia un valore o aggiungi una riga e prova a prevedere l'output prima di eseguirlo. Poi rompi il codice di proposito e leggi il messaggio del compilatore.
Hai finito questa lezione?
Segnala come imparata per tenere traccia dei tuoi progressi.
I tuoi progressi sono salvati in questo browser Accedi per conservarli su ogni dispositivo.
Esercitati con una sfida
Usa ciò che questa lezione spiega per risolvere un problema reale. Ogni sfida gira nel browser, con test immediati e una revisione dell'IA.
- Conta Parole Conta le parole in una frase. Facile
- Frequenza dei caratteri Conta quante volte appare ciascun carattere. Facile