python 统计每一段的 最大值,比如 100-200内的最大 和 200-300内的最大
比如列表有这些数字 [145,146,147,178,243,253,254,255,345,356,367]
结果是
{
"100-200":178,
"200-300":255,
"300-400":367,
}
[145,146,147,178, ) 243,253,254,255, ) 345,356,367) ]
参考GPT和自己的思路:
可以使用Python的字典来存储每一段的最大值。代码如下:
nums = [145,146,147,178,243,253,254,255,345,356,367]
ranges = {"100-200": range(100, 201), "200-300": range(200, 301), "300-400": range(300, 401)}
max_values = {}
for key in ranges:
values_in_range = []
for num in nums:
if num in ranges[key]:
values_in_range.append(num)
max_values[key] = max(values_in_range)
print(max_values)
运行结果为:
{
"100-200":178,
"200-300":255,
"300-400":367,
}
解释一下代码的实现过程:
首先我们有一个列表nums,用于存储要统计的数字。
然后我们定义了一个字典ranges,用于存储每一段的范围。这里我们用了Python中的range函数来表示范围。
接着我们定义了一个空字典max_values,用于存储每一段的最大值。
然后我们使用两个for循环,分别遍历每个范围和每个数字。
在内层循环中,我们判断每个数字是否在当前范围内,如果是的话就将它放入一个列表values_in_range中。
在外层循环中,我们将这个列表中的最大值记录到max_values字典中。
最后我们输出max_values字典作为运行结果。
你这个括号为什么没有闭合,你的数据的格式是什么