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

如何用Python和Numpy生成10位二进制数组的所有可能迭代?

实现10位二进制数组的全枚举(暴力法)

需求说明

暴力生成所有10位二进制数组,通过for循环完成2^10=1024次迭代,数组索引[9,8,...,0]对应二进制位的权重2^9到2^0,每个数组对应0到1023的整数。

代码实现

import numpy as np

def main(K):
    # 匹配需求中的10位长度要求
    if K != 10:
        raise ValueError("当前实现仅支持K=10的场景")
    for n in range(2**K):
        # 将整数转换为10位二进制字符串,高位在前(对应数组索引9)
        binary_str = format(n, '010b')
        # 转换为numpy整数数组
        binary_array = np.array([int(bit) for bit in binary_str])
        # 这里可添加自定义处理逻辑,比如打印验证
        print(f"迭代{n+1}: values -> {binary_array} 整数格式: {n}")
    
main(K=10)

代码解释

  • format(n, '010b'):将整数n格式化为固定10位的二进制字符串,自动补前导零,确保长度符合要求(例如n=1得到'0000000001',对应数组索引9到0的高位到低位)。
  • 列表推导式将二进制字符串的每个字符转为整数,再通过np.array()生成目标numpy数组。
  • 循环遍历0到1023的所有整数,完整覆盖10位二进制的所有可能组合。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 15:05:17