如何生成1:100连续序列的5×1、1×5随机矩阵(无第三方包)
实现方案
全程仅使用Python标准库能力,不依赖任何需要额外安装的第三方包,核心逻辑如下:
- 5×1列矩阵:共5个元素位置,每个位置独立在1-100整数范围内做有放回抽样,每个元素单独占一行,符合列矩阵的结构要求。
- 1×5行矩阵:矩阵本身是长度为5的连续递增整数序列,首先在1~96范围内有放回抽取序列起始值(起始值最大为96时,序列为96、97、98、99、100,不会超出1-100的取值范围),再从起始值开始生成连续5个递增整数即可,符合给定的连续序列结构要求。
- 有放回抽样规则通过每次随机抽取独立执行实现,不同位置/多次运行允许出现重复值、重复序列。
可直接运行的代码
import random # 生成5×1随机矩阵(列向量) mat_5x1 = [] for _ in range(5): # 每次独立从1-100有放回抽取单个值,作为一行的唯一元素 single_val = random.randint(1, 100) mat_5x1.append([single_val]) # 生成1×5随机矩阵(行向量,为连续递增序列) # 先抽取合法起始值,保证连续5个数不超过100 start = random.randint(1, 100 - 5 + 1) mat_1x5 = [list(range(start, start + 5))] # 打印结果 print("5×1矩阵:") for row in mat_5x1: print(row) print("\n1×5矩阵:") print(mat_1x5[0])
运行示例
5×1矩阵: [27] [89] [27] [13] [54] 1×5矩阵: [38, 39, 40, 41, 42]
注:因为是随机抽样,每次运行得到的结果都会存在差异,只要结构、取值范围、连续序列规则、有放回规则符合要求即为正确结果。
内容的提问来源于stack exchange,提问作者Geek_Nerdy93
相关产品推荐
相关产品推荐

