【发布时间】:2015-04-08 03:27:29
【问题描述】:
我正在使用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' }
【问题讨论】:
-
同意。我应该搜索“literal”。
-
5 年后,我在做同样的 Exercism.io 练习,我发现了这个 :)
-
我相信我最初是在做一个 rosalind.info 问题,但显然这个答案非常有用。