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

Python中有序随机选择问题:生成起始为0且递增1的输出数组

嘿,这个需求我熟!用Python自带的random模块就能完美解决,分不同场景给你写具体实现哈~

场景1:从0到5之间选取5个不重复的数字

首先,我们要生成的目标数组是[0,1,2,3,4,5],用list(range(6))就能快速搞定(range(6)会生成0到5的整数序列,转成列表就是我们要的递增数组)。然后用random.sample()做无放回抽样,确保选出来的5个元素不重复:

import random

# 生成0到5的递增数组
target_array = list(range(6))
# 随机选5个不重复元素
selected_nums = random.sample(target_array, k=5)
print(selected_nums)
# 示例输出:[3, 0, 5, 1, 2](每次运行结果会不一样)

场景2:重基场景(自定义起始值的递增数组)

如果“重基”是指你需要的数组不是从0开始,而是从某个自定义的起始值开始递增1(比如从3开始到8结束),只需要调整range()的参数就行,同样可以用sample或choices来选择:

import random

# 自定义起始和结束值,生成递增数组
start_num = 3
end_num = 8
target_array = list(range(start_num, end_num + 1))  # range左闭右开,所以end要+1
# 比如选6个不重复元素
selected_nums = random.sample(target_array, k=6)
print(selected_nums)
# 示例输出:[5, 3, 8, 6, 7, 4]

场景3:从0到5之间选取15个数字(允许重复)

因为0到5只有6个不同元素,要选15个肯定会有重复,这时候用random.choices()做有放回抽样就可以了:

import random

target_array = list(range(6))
# 随机选15个元素,允许重复
selected_nums = random.choices(target_array, k=15)
print(selected_nums)
# 示例输出:[0, 2, 5, 2, 4, 1, 0, 3, 5, 5, 1, 3, 2, 4, 0]

小技巧:固定随机结果(方便调试)

如果需要每次运行都得到一样的随机结果,可以在代码开头设置随机种子:

random.seed(42)  # 随便设一个整数,固定种子后结果就不变了

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:57:42