gpt4 book ai didi

data-structures - 序列与 LazyList

转载 作者:行者123 更新时间:2023-12-03 14:31:09 28 4
gpt4 key购买 nike

我无法理解序列和 LazyList 之间的差异.他们既懒惰又可能无限。虽然 seq<'T>IEnumerable<'T>来自 .NET 框架,LazyList包含在 F# PowerPack 中.在实践中,我遇到序列的频率比 LazyList 要多得多。 s。

它们在性能、使用、可读性等方面有何不同? LazyList名声这么差的原因是什么?相比seq ?

最佳答案

LazyList无论遍历列表多少次,都只计算每个元素一次。这样,更接近Seq.cache返回的序列(而不是典型的序列)。但是,除了缓存,LazyList行为与列表完全一样:它在底层使用列表结构并支持模式匹配。所以你可能会说:使用 LazyList而不是 seq当您需要列表语义和缓存时(除了懒惰)。

关于两者都是无限的,seq的内存使用量保持不变,而 LazyList是线性的。

这些 docs可能值得一读。

关于data-structures - 序列与 LazyList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9201402/

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