在Swift中等分一个大的向量[复制]。

问题描述 投票:1回答:1

我有一个大的MLMultiArray,长度为15360个值。

样例:我有一个大的MLMultiArray,长度为15360个值。

[14.78125,-0.6308594,5.609375,13.57812,-1.871094,-19.65625,9.5625,8.640625,-2.728516,3.654297,-3.189453,-1.740234...]

有什么方法可以把这个大数组转换成120个小的MLMultiArrays,每个有128个元素,而不改变数组的序列,并以最有效的方式?

整个数组的15360个元素都可以在这个 链接

arrays swift coreml
1个回答
2
投票

是的,你可以通过扩展来实现,你也可以把它作为一个通用的解决方案。

extension Array {
    func splited(into size: Int) -> [[Element]] {
        return stride(from: 0, to: count, by: size).map {
            Array(self[$0 ..< Swift.min($0 + size, count)])
        }
    }
}
let yourArray = [14.78125,-0.6308594, ...] // 15360 elements of your array
let result = yourArray.splited(into: 128)
© www.soinside.com 2019 - 2024. All rights reserved.