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

如何构造由唯一0、1序列组成的2*x长度numpy数组?

生成指定格式的0-1唯一序列numpy数组

观察示例可知,每行由x个[1,0]或[0,1]的基础块拼接而成,所有可能的块组合(共2^x种)构成数组的全部行。以下是实现方案:

import numpy as np
from itertools import product

def generate_unique_sequences(x):
    # 定义两个基础块
    blocks = np.array([[1, 0], [0, 1]])
    # 生成x个块的所有可能组合(笛卡尔积)
    block_combinations = product(blocks, repeat=x)
    # 拼接每个组合的块并堆叠为最终数组
    return np.vstack([np.hstack(combo) for combo in block_combinations])

# 验证x=2的情况
print("x=2 输出:")
print(generate_unique_sequences(2))

# 验证x=3的情况
print("\nx=3 输出:")
print(generate_unique_sequences(3))

代码说明

  • 基础块blocks是构成所有行的最小单元,只有[1,0]和[0,1]两种选择
  • itertools.product用于生成x个块的所有笛卡尔积组合,确保每个序列唯一
  • 通过np.hstack拼接单个组合内的块形成一行,再用np.vstack将所有行组合为二维numpy数组

运行后输出完全匹配你给出的预期结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 06:26:25