Python 一次循环获取对象列表中属性的最大值和最小值
要在一次循环中获取对象列表中指定属性的最大值和最小值,可以使用迭代器和条件判断来实现。以下是一个示例代码:
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'属性的最小值和最大值,并将结果打印出来。
原文地址: https://www.cveoy.top/t/topic/o2h4 著作权归作者所有。请勿转载和采集!