gpt4 book ai didi

vector - 如何将向量拆分为大小为 N 的较小向量?

转载 作者:行者123 更新时间:2023-12-04 14:44:07 25 4
gpt4 key购买 nike

如何分割向量

let v: Vec<u8>; // vector with size x
成一个最大大小为 n 的向量的向量?伪代码:
let n: usize = 1024;
let chunks_list: Vec<Vec<u8>> = chunks(v, n);
或使用切片(以避免复制):
let v: &[u8]; 
let chunks_list: Vec<&[u8]> = chunks(v, n);

最佳答案

Rust 切片已经包含了必要的方法:chunks .
从此开始:

let src: Vec<u8> = vec![1, 2, 3, 4, 5];
您可以获得切片向量(无副本):
let dst: Vec<&[u8]> = src.chunks(3).collect();
或向量的向量(较慢,较重):
let dst: Vec<Vec<u8>> = src.chunks(3).map(|s| s.into()).collect();
playground

关于vector - 如何将向量拆分为大小为 N 的较小向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67008105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com