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

如何生成两组无重复的随机数?Python随机数实现问题

解决1-45范围不重复随机数生成需求

你的核心问题是两次独立采样会导致辅助数和主随机数重复,下面提供两种简洁的解决思路:

方法一:一次性采样拆分(高效首选)

直接从1-45的范围里一次性抽取8个不重复的随机数,前6个作为主数,后2个作为辅助数,天然保证不重复:

import random

# 生成8个不重复的1-45随机数
all_random = random.sample(range(1, 46), 8)
main_nums = all_random[:6]
supp_nums = all_random[6:]

print("主随机数:", main_nums)
print("辅助随机数:", supp_nums)

方法二:先选主数再从剩余范围选辅助数

如果需要分开生成主数和辅助数,可以先抽取6个主数,再从排除主数后的剩余数字里选2个:

import random

full_range = range(1, 46)
# 生成6个主随机数
main_nums = random.sample(full_range, 6)
# 筛选出未被选中的数字
remaining = [num for num in full_range if num not in main_nums]
# 从剩余数字里选2个辅助数
supp_nums = random.sample(remaining, 2)

print("主随机数:", main_nums)
print("辅助随机数:", supp_nums)

两种方法都能满足需求,方法一的性能更优,无需额外筛选操作;方法二逻辑更直观,适合需要分步处理的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 15:57:51