gpt4 book ai didi

swift - Swift 中的循环迭代器

转载 作者:行者123 更新时间:2023-11-28 08:32:22 29 4
gpt4 key购买 nike

在 Python 中,有 itertools.cycle ,它需要一个 iterable并制作一个可迭代的迭代器,重复从源中产生内容。

我想在 Swift 中复制这种行为。

复制此行为的候选对象是标准库的 repeatElement(_:count:) : 做 repeatElement(seq, count: 5).flatMap({$0})创建 seq 的元素数组五次,但这不符合我的要求,因为它只重复 seq有限次数。此外,它还会创建一个 Array长度5 * seq.length ,其中只有一个长度为 seq 的缓存实际上是需要的。

所以问题是:如何创建一个无限的 Sequence通过重复来源的元素 Sequence ?该解决方案的空间成本不应超过 O(n) . (O(1) 在 Swift 中是不可能保证的,因为 Sequence makes no guarentee that it can be iterated multiple times 。)

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