全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

生成指定长度的0-1二元组合数组:每行前x位与后x位互补

本文介绍如何使用numpy与itertools高效生成长度为2x的二元数组,其中每行由x位二进制序列及其按位取反构成,确保所有2^x种前半段组合均被覆盖且整体行唯一。

要构造一个形状为 (2^x, 2x) 的 NumPy 数组,使得每一行均由一个长度为 x 的 0-1 序列与其逻辑补(即 1 - sequence)拼接而成,最简洁、高效的方式是利用 itertools.product 生成所有可能的 x 位二进制组合,再通过向量化操作自动生成对应的互补后半段。

具体实现如下:

import numpy as np
from itertools import product

def generate_complementary_binary_array(x):
    # 生成所有 x 位二进制组合:共 2^x 种,每行为长度 x 的 list
    base = np.array(list(product([0, 1], repeat=x)))
    # 拼接 base 与它的按位补(1 - base),得到 (2^x, 2x) 数组
    result = np.column_stack([base, 1 - base])
    return result

# 示例:x = 2
print("x = 2:")
print(generate_complementary_binary_array(2))
# 输出:
# [[0 0 1 1]
#  [0 1 1 0]
#  [1 0 0 1]
#  [1 1 0 0]]

# 示例:x = 3
print("\nx = 3:")
print(generate_complementary_binary_array(3))
# 输出 8 行 × 6 列数组,每行形如 [a,b,c,1-a,1-b,1-c]

⚠️ 注意事项:

  • 此方法生成的是字典序排列的组合(由 product 决定),若需与提问中示例的顺序一致(如 x=2 时首行为 [1,0,1,0]),需对结果进行重排序。原示例实际对应的是“前半段为所有 x 位组合,但以格雷码或特定排列输出”,而本解法默认按标准二进制升序;如需严格匹配示例顺序,可在生成后按自定义规则索引重排(例如 result[[2,1,3,0]] 对 x=2 调整)。
  • 时间与空间复杂度为 O(2^x × 2x),适用于中等规模 x(建议 x ≤ 20,避免内存溢出)。
  • 不推荐使用 np.meshgrid 或 itertools.combinations:前者适用于多维坐标网格,后者仅生成固定数量的无序子集,均不契合“全排列 + 互补构造”这一核心需求。

总结:该方案以清晰的逻辑、最小的依赖和最优的向量化性能,精准满足“每行长度 2x、前后半段互为补集、覆盖全部 x 位组合”的要求,是处理此类对称二元结构的标准实践。


# 排列  # numpy  # 的是  # 适用于  # 半段  # 多维  # 长度为  # 升序  # 这一  # 推荐使用  # 而成  # 可在 


相关文章: php json中文编码为null的解决办法  如何打造高效商业网站?建站目的决定转化率  建站之星代理商如何保障技术支持与售后服务?  如何在Golang中使用encoding/gob序列化对象_存储和传输数据  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  招商网站制作流程,网站招商广告语?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  如何使用Golang table-driven基准测试_多组数据测量函数效率  广州营销型建站服务商推荐:技术优势与SEO优化解析  免费视频制作网站,更新又快又好的免费电影网站?  教学网站制作软件,学习*后期制作的网站有哪些?  制作网站的基本流程,设计网站的软件是什么?  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  学校免费自助建站系统:智能生成+拖拽设计+多端适配  如何用y主机助手快速搭建网站?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  北京建设网站制作公司,北京古代建筑博物馆预约官网?  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  制作网站怎么制作,*游戏网站怎么搭建?  网站制作员失业,怎样查看自己网站的注册者?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  建站主机选哪种环境更利于SEO优化?  建站主机与虚拟主机有何区别?如何选择最优方案?  小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化  建站主机功能解析:服务器选择与快速搭建指南  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  如何选择高效响应式自助建站源码系统?  c++ stringstream用法详解_c++字符串与数字转换利器  网站制作的方法有哪些,如何将自己制作的网站发布到网上?  如何正确下载安装西数主机建站助手?  青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?  建站主机选虚拟主机还是云服务器更好?  建站VPS选购需注意哪些关键参数?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  表情包在线制作网站免费,表情包怎么弄?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  高防服务器租用首荐平台,企业级优惠套餐快速部署  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  建站之星代理如何优化在线客服效率?  如何获取PHP WAP自助建站系统源码?  如何用好域名打造高点击率的自主建站?  怀化网站制作公司,怀化新生儿上户网上办理流程?  建站之星体验版:智能建站系统+响应式设计,多端适配快速建站  如何在橙子建站上传落地页?操作指南详解  高防服务器:AI智能防御DDoS攻击与数据安全保障  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  长沙做网站要多少钱,长沙国安网络怎么样?  如何在IIS服务器上快速部署高效网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。