arrays - 如何在列表的每个元素之间插入值?

标签 arrays list rust

这个(playground):

let s = "Hello world!";
let splitted_string = s.split_terminator("").skip(1).collect::<Vec<&str>>();
println!("splitted_string: {:?}", splitted_string);

产生以下输出:

splitted_string: ["H", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d", "!"]

如何在每个元素之间插入 a 并获得类似的东西?

["H", "a", "e", "a", "l", "a", "l", "a", "o", "a", " ", "a", "w", "a", "o", "a", "r", "a", "l", "a", "d", "a", "!"]

最佳答案

已经有一个很好的 .flat_map() 答案,但是为了多样化,我们可以提供一个稍微不同的方法,我们可以使用 将多余的“a”去掉。采取():

fn main() {
    let s = "Hello world!";
    
    let interspersed = s.chars()
                        .flat_map(|c| [c, 'a'])
                        .take(s.len() * 2 - 1)
                        .collect::<String>();
                        
    println!("interspersed: {:?}", interspersed);
}

输出:

interspersed: "Haealalaoa awaoaralada!"

关于arrays - 如何在列表的每个元素之间插入值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68623773/

相关文章:

rust - 如何在 HashSet 或 HashMap 中使用自定义哈希函数?

arrays - iOS12 中的 NSKeyedUnarchiver 更改 - 如何取消存档字符串数组

java - 如何将行更改为 ArrayList<Integer[]> 中的列

python - 遍历 numpy 数组的第一个 d 轴

python - 如果后面有另一个值,则删除列表值

Python:将嵌套列表的值与字典值相除

list - 将参数传递给 Maxima CAS 中的函数

python - 组合索引操作时查看和复制与 NumPy 数组的混淆

xml - 无法使用 serde-xml-rs 解析带有可选元素的 XML

git - 如何让 git config ReplaceOf 与 Cargo 一起使用?