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)

相关推荐
写代码的【黑咖啡】32 分钟前
Python中的JSON处理(标准库)
开发语言·python·json
Elias不吃糖8 小时前
Java Lambda 表达式
java·开发语言·学习
梨子串桃子_8 小时前
推荐系统学习笔记 | PyTorch学习笔记
pytorch·笔记·python·学习·算法
guygg888 小时前
一级倒立摆MATLAB仿真程序
开发语言·matlab
情缘晓梦.8 小时前
C语言指针进阶
java·开发语言·算法
世转神风-9 小时前
qt-字符串版本与数值版本互转
开发语言·qt
极客代码9 小时前
深入解析C语言中的函数指针:原理、规则与实践
c语言·开发语言·指针·状态机·函数·函数指针
文言一心9 小时前
LINUX离线升级 Python 至 3.11.9 操作手册
linux·运维·python
w-w0w-w9 小时前
C++模板参数与特化全解析
开发语言·c++