Rust如何在列表的每两个相邻元素之间插入指定值?
你可以用Rust标准库迭代器自带的intersperse方法实现需求,这是最简单的方案,需要你的Rust版本 >= 1.71:
let s = "Hello world!"; let splitted_string = s.split_terminator("").skip(1).collect::<Vec<&str>>(); // 在每两个相邻元素之间插入"a" let result: Vec<&str> = splitted_string.into_iter().intersperse("a").collect(); println!("splitted_string: {:?}", result);
如果你用的Rust版本较低不支持intersperse,也可以手动遍历实现:
let s = "Hello world!"; let splitted_string = s.split_terminator("").skip(1).collect::<Vec<&str>>(); let mut result = Vec::new(); for (index, item) in splitted_string.into_iter().enumerate() { // 除了第一个元素外,每个元素前先插入"a" if index != 0 { result.push("a"); } result.push(item); } println!("splitted_string: {:?}", result);
两种方法运行后都能得到你需要的输出结果。
内容的提问来源于stack exchange,提问作者manuel.menendez
相关产品推荐
相关产品推荐

