这个问题在这里已有答案:
如何创建一个字符串来连接hashmap中的所有键,并在每个键中添加一个分隔符?生锈我很新。
在python中它将是这样的:
>>> ', '.join({'a':'x', 'b':'y'}.keys())
'a, b'
在Rust中,HashMap
s没有排序,因此String
中键的实际顺序将是不确定的。
如果这不是问题,你可以这样做:
use std::collections::HashMap;
let mut hm = HashMap::new();
hm.insert("a", ());
hm.insert("b", ());
hm.insert("c", ());
hm.insert("d", ());
hm.insert("e", ());
let s = hm.keys().map(|s| &**s).collect::<Vec<_>>().join(", ");