gpt4 book ai didi

sequence - 如何过滤出序列中的连续重复?

转载 作者:行者123 更新时间:2023-12-03 18:04:54 25 4
gpt4 key购买 nike

我正在尝试生成一个 Seq 的随机选项,其中不允许连续重复:

> (<F R U>.roll(*).grep(* ne *))[^10]
((R F) (F U) (R F) (F R) (U R) (R F) (R F) (U F) (R U) (U R))
为什么以这种方式使用 grep 会导致嵌套对?我怎样才能实现我正在寻找的东西?使用上面的 .flat 仍然允许连续重复。
( R U F U F U R F R U ... )

最佳答案

how can I achieve what I'm looking for?


我相信 squish 方法会做你想做的:
say <F R U>.roll(*).squish.head(20)
这产生:
(U R F U F R F R F U F R U R F U R U R F)

Why does using grep in this way result in nested pairs?


因为 grep(和 map 也是)在具有大于 1 的元数的东西上将通过将列表分成该大小的块来工作。因此给定 A B C D ,对 grep 块的第一次调用获得 A B ,第二次 C D ,依此类推。然而,在这种情况下真正需要的是滞后值。可以在传递给 state 的块中使用 grep 变量来实现这一点,但是对于这个问题 squish 是一个更简单的解决方案。

关于sequence - 如何过滤出序列中的连续重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67556458/

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