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

如何将0-1000区间的100个随机数字列表按范围分组?

分组实现建议与代码示例

你的思路完全靠谱!我来给你拆解成可落地的步骤,再用Python写个实际的例子,你可以直接套用或者根据自己用的编程语言调整:

1. 生成目标随机数字列表

首先我们需要生成100个取值在0-1000之间的随机数,用Python的话可以用列表推导式快速实现:

import random

# 生成100个0到1000(包含两端)的随机整数
num_list = [random.randint(0, 1000) for _ in range(100)]

2. 定义分组区间

接下来要把0-1000划分为x个均匀分组,比如你说的10组。这里可以通过计算每组的跨度来自动生成区间,同时要注意边界值的归属(比如100应该进入100-200组):

group_count = 10  # 你可以改成任意需要的分组数
interval = 1000 // group_count  # 计算每组的跨度,10组的话就是100

# 生成左闭右开的区间对,比如(0,100), (100,200)...(900,1000)
groups = [(i * interval, (i + 1) * interval) for i in range(group_count)]
# 单独处理最后一组,确保1000能被包含进去
groups[-1] = (groups[-1][0], 1001)

3. 遍历数字并完成分组

我们可以用字典来存储每个分组的结果,键是分组的区间描述,值是对应数字的列表。这里有两种实现方式:

方式一:遍历区间判断(直观易懂)

适合分组数不多的场景,逻辑清晰:

# 先初始化每个分组的空列表
result = {}
for lower, upper in groups:
    # 把区间显示成更友好的格式,比如0-99、100-199...900-1000
    group_name = f"{lower}-{upper - 1}"
    result[group_name] = []

# 逐个判断数字所属分组并加入对应列表
for num in num_list:
    for lower, upper in groups:
        if lower <= num < upper:
            group_name = f"{lower}-{upper - 1}"
            result[group_name].append(num)
            break  # 找到分组就跳出循环,避免多余判断

方式二:数学计算直接定位分组(高效)

如果分组数很多,用数学计算直接找到分组索引,能大幅提升效率:

# 先初始化分组字典
result = {f"{i*interval}-{(i+1)*interval-1}": [] for i in range(group_count)}

for num in num_list:
    # 处理1000的特殊情况,避免索引越界
    if num == 1000:
        group_index = group_count - 1
    else:
        group_index = num // interval
    # 根据索引找到分组名称并添加数字
    group_name = f"{group_index*interval}-{(group_index+1)*interval-1}"
    result[group_name].append(num)

4. 查看分组结果

最后可以打印每个分组的内容,验证结果:

for group_name, nums in result.items():
    print(f"分组 {group_name}: {nums}")

额外小提示

  • 如果不需要严格均匀分组,你也可以自定义区间(比如[0,50), [50,200), [200,1001)),只需要把groups改成你需要的区间列表即可。
  • 其他编程语言(比如Java、JavaScript)的逻辑是一样的,只是语法不同:先生成随机数,定义区间,然后遍历判断或计算索引分组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:19:11