以下是使用Python实现按近似值分组的示例代码:
def group_by_approximate_value(lst, target_value, tolerance):
groups = []
for num in lst:
for group in groups:
if abs(num - group[0]) <= tolerance:
group.append(num)
break
else:
groups.append([num])
return groups
# 示例用法
nums = [1.2, 1.5, 2.1, 2.4, 3.9, 4.2, 4.5, 5.1]
target = 3.0
tolerance = 0.5
result = group_by_approximate_value(nums, target, tolerance)
print(result)
在这个示例中,group_by_approximate_value
函数接收一个列表(lst
),一个目标值(target_value
)和一个容差值(tolerance
)。函数会遍历列表中的每个元素,并将它们分组到近似值相等的组中。如果一个元素与某个组中的元素的差的绝对值小于等于容差值,则将该元素添加到该组中,否则创建一个新的组来存储该元素。
在示例用法中,我们定义了一个包含浮点数的列表nums
,目标值为3.0,容差值为0.5。函数将会将列表中的元素按照与目标值的差的绝对值小于等于0.5的方式进行分组,并将结果打印出来。输出结果为[[1.2, 1.5, 2.1, 2.4], [3.9], [4.2, 4.5], [5.1]]
,其中每个子列表代表一个分组。
下一篇:按机器ID分组获取每小时的时间片