You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将整数序列转换为双重复交替二进制序列?

索引映射解决方案

要将 range(0,36) 生成的整数索引序列映射为 0,0,1,1 循环交替的序列(每2个连续索引对应同一值),最简实现方式如下:

方法一:整数除法+取余

这是最直观的实现方式,逻辑清晰易懂:

result = [n // 2 % 2 for n in range(36)]
  • 解释:n // 2 先将每2个连续索引归为一组(比如索引0、1对应0,2、3对应1,以此类推),再对2取余,就能让分组后的数值在0和1之间循环,得到目标序列。

方法二:位运算优化

如果追求更高效的计算,可使用位运算替代取余操作(仅适用于对2的幂取余的场景):

result = [(n // 2) & 1 for n in range(36)]
  • 解释:(n // 2) & 1 的效果和 n // 2 % 2 完全一致,但位运算在底层执行时速度更快。

结果验证

生成的序列前8项为:[0, 0, 1, 1, 0, 0, 1, 1],完全满足每2个连续索引对应同一值、0和1循环交替的要求。

内容的提问来源于stack exchange,提问作者DM71

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 17:27:25