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

如何用Python生成每行最多含2个1的随机0-1矩阵?

生成每行最多含2个1的0-1随机矩阵的简单方法

直接给你最直观的实现方式,逻辑简单好懂:

  1. 先导入numpy库,定义矩阵的行数、列数,以及每行最多允许的1的数量:
import numpy as np

rows = 4  # 对应示例里的4行
cols = 4  # 对应示例里的4列
max_ones = 2  # 每行最多2个1
  1. 先创建一个全0矩阵,后续再给每行随机填充1:
poblacionCandidata = np.zeros((rows, cols), dtype=int)
  1. 遍历每一行,随机选择0到2个位置设为1:
for i in range(rows):
    # 随机决定当前行放几个1(0、1或2个)
    num_ones = np.random.randint(0, max_ones + 1)
    # 从所有列索引里随机挑出num_ones个不重复的位置
    selected_cols = np.random.choice(cols, size=num_ones, replace=False)
    # 把这些位置设为1
    poblacionCandidata[i, selected_cols] = 1

运行这段代码就能得到类似你给出的示例结果,比如:

[[1 1 0 0]
 [1 0 0 1]
 [1 0 0 0]
 [0 1 0 0]]

这个方法逻辑直白,不用复杂的条件判断或者重试机制,完全保证每行的1不会超过2个。如果需要调整行数、列数或者每行最多1的数量,直接修改对应的参数即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 15:03:15