你可以使用getattr()函数来实现这个功能。getattr()函数可以通过属性的名称以及对象来获取属性的值。

下面是一个示例函数,它接受一个对象列表和要匹配的属性名称和值作为参数,返回所有具有匹配属性值的对象:

def find_objects_with_property(objects, property_name, property_value):
    matched_objects = []
    for obj in objects:
        if getattr(obj, property_name) == property_value:
            matched_objects.append(obj)
    return matched_objects

使用示例:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

persons = [
    Person("Alice", 25),
    Person("Bob", 30),
    Person("Charlie", 25)
]

matched_persons = find_objects_with_property(persons, "age", 25)
for person in matched_persons:
    print(person.name)

输出:

Alice
Charlie

在示例中,我们定义了一个Person类,它有两个属性:name和age。然后我们创建了一个Person对象的列表,并使用find_objects_with_property()函数找到age属性为25的对象。最后,我们打印出匹配的对象的名字

一個對象有很多屬性編寫一個python函數能夠用值來查找滿足條件的屬性的對象

原文地址: https://www.cveoy.top/t/topic/iNUr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录