python一堆数字相近的分成一组

复制代码
def group_nearest_numbers(numbers, threshold):
    groups = {}
    for num in numbers:
        found = False
        for group_id, group_members in groups.items():
            if abs(num - group_members[-1]) <= threshold:
                groups[group_id].append(num)
                found = True
                break
        if not found:
            groups[len(groups)] = [num]
    return groups.values()


# 示例使用
numbers = [1, 2, 3, 4, 500, 501, 502, 1000, 1001, 1002 ,1500,1600]
threshold = 100
groups = group_nearest_numbers(numbers, threshold)
for group in groups:
    print(group)

这个函数会将数字列表numbers中相差不超过threshold的数字分到同一组。最后,函数返回每个分组的列表。



这个时候 我修改了一下数字

打印结果是:


FR:徐海涛(hunkxu)

相关推荐
小呀小萝卜儿几秒前
2025-11-14 学习记录--Python-特征归一化方法(Min-Max或StandardScaler)
开发语言·python·学习
顾安r8 分钟前
11.14 脚本网页 青蛙过河
服务器·前端·python·游戏·html
测试199814 分钟前
如何用Appium实现移动端UI自动化测试?
自动化测试·软件测试·python·测试工具·ui·职场和发展·appium
雪域迷影20 分钟前
C++ 11 中的move赋值运算符
开发语言·c++·move
jf加菲猫29 分钟前
第2章 Hello World
开发语言·c++·qt·ui
Python私教35 分钟前
第一个Python金融爬虫
爬虫·python·金融
todoitbo1 小时前
Rust新手第一课:Mac环境搭建踩坑记录
开发语言·macos·rust
laplace01231 小时前
PyQt5 + Qt Designer配置指令
开发语言·qt
nvd112 小时前
Python 迭代器 (Iterator) vs. 生成器 (Generator)
开发语言·python