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

Python生成指定范围无重复数字的二维列表的实现方法

原生Python实现方案

你可以借助Python标准库random实现完全一致的效果,不需要依赖numpy,有两种常用实现方式:

方法1:使用random.sample直接无重复采样

random.sample可以从指定序列中无重复抽取指定数量的元素,刚好符合0-8无重复的要求,再按3个一组切分生成二维列表即可:

import random

def ran():
    # 从0-8的序列中无重复抽取全部9个元素
    random_nums = random.sample(range(9), 9)
    # 每3个元素为一组,拼接成3×3二维列表
    return [random_nums[i*3 : (i+1)*3] for i in range(3)]

# 调用生成
var1 = ran()
print(var1)

输出示例:

[[4, 5, 6], [3, 2, 0], [8, 1, 7]]

方法2:使用random.shuffle打乱有序序列

先生成0-8的有序列表,直接打乱后再切分成二维结构:

import random

def ran():
    num_list = list(range(9))
    # 原地打乱列表顺序
    random.shuffle(num_list)
    # 切分成3×3结构
    return [num_list[i*3 : i*3 + 3] for i in range(3)]

var1 = ran()

两种方法的输出效果和你之前用numpy实现的完全一致,都是0-8范围内无重复元素的3行3列列表结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 23:18:02