stream一次循环获取对象中同时获取最大值和最小值的属性
要在一次循环中获取对象中的最大值和最小值属性,可以使用迭代器和条件判断来实现。以下是一个示例代码:
def get_min_max_property(objects, property_name):
min_value = float('inf')
max_value = float('-inf')
for obj in objects:
value = obj.get(property_name)
if value is not None:
min_value = min(min_value, value)
max_value = max(max_value, value)
return min_value, max_value
在这个示例中,objects 是一个包含对象的列表,property_name 是要获取的属性的名称。我们使用float('inf')和float('-inf')来初始化最小值和最大值,以确保第一个值能正常比较。
然后,我们使用一个循环来遍历每个对象,并通过obj.get(property_name)获取指定属性的值。如果值不为空,则更新最小值和最大值。
最后,函数返回最小值和最大值。
示例用法:
objects = [
{"name": "Object 1", "value": 10},
{"name": "Object 2", "value": 5},
{"name": "Object 3", "value": 15},
{"name": "Object 4", "value": 8},
{"name": "Object 5", "value": 12},
]
min_value, max_value = get_min_max_property(objects, "value")
print("Minimum value:", min_value)
print("Maximum value:", max_value)
输出:
Minimum value: 5
Maximum value: 15
在这个示例中,我们有一个包含多个对象的列表,每个对象都有一个名为"value"的属性。我们调用get_min_max_property函数来获取"value"属性的最小值和最大值,并将结果打印出来
原文地址: http://www.cveoy.top/t/topic/hzvh 著作权归作者所有。请勿转载和采集!