Я использую HashMap
для подсчета вхождений разных символов в строке:
let text = "GATTACA";
let mut counts: HashMap<char, i32> = HashMap::new();
counts.insert('A', 0);
counts.insert('C', 0);
counts.insert('G', 0);
counts.insert('T', 0);
for c in text.chars() {
match counts.get_mut(&c) {
Some(x) => *x += 1,
None => (),
}
}
Есть ли более сжатый или декларативный способ инициализации HashMap
? Например, в Python я бы сделал:
counts = { 'A': 0, 'C': 0, 'G': 0, 'T': 0 }
или
counts = { key: 0 for key in 'ACGT' }