gpt4 book ai didi

algorithm - 为什么 F# 核心库不提供通用的序列切片功能?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:35:55 26 4
gpt4 key购买 nike

将序列切割成固定长度的批处理,制作重叠的滑动数据窗口,从序列中获取第 n 个项目——所有这些任务都可以使用一个通用的切片函数来解决。例如,Clojure 为此目的提供 partition size skiplibrary function .

F# 核心库提供 Seq.windowed function实现滑动窗口重叠 1。Seq.windowed width 将简单地等效于 partition width 1;不同的 partition 参数允许解决其他问题:partition size size 将序列切片为不重叠的批处理,partition 1 n 获取每个第 n 个序列项等

在 F# 中实现此类功能并不难。我曾经发过 a naive prototype遭受冗余序列评估;然而,使其成为真正懒惰的生产质量 F# 实现绝对是可行的。

我想知道将用于序列切片的开箱即用 F# 核心库产品限制为仅限 Seq.windowed 函数是否有任何特殊原因?

最佳答案

我认为您的问题没有好的答案。

当然不存在无法实现更通用的滑动窗口功能的技术困难。它可以实现,并且会很有用。为什么它不包含在 F# 核心库中?可能是因为 F# 团队没有尝试包含所有可能有用的函数,因为这会使核心库太大、太难维护且更难使用(如果函数太多,则很难找到合适的函数)。

关于algorithm - 为什么 F# 核心库不提供通用的序列切片功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7550569/

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