要按照字段列表检索对象列表,您可以使用Python中的列表推导式和字典解析。
假设您有一个对象列表,每个对象都有多个字段。您想按照给定的字段列表检索对象列表。以下是一个解决方案的示例代码:
# 定义一个示例对象类
class Person:
def __init__(self, name, age, city):
self.name = name
self.age = age
self.city = city
# 示例对象列表
persons = [
Person("Alice", 25, "New York"),
Person("Bob", 30, "San Francisco"),
Person("Charlie", 35, "London"),
Person("David", 40, "Paris")
]
# 要检索的字段列表
fields = ["name", "city"]
# 使用列表推导式和字典解析进行检索
result = [{field: getattr(person, field) for field in fields} for person in persons]
# 输出检索结果
for item in result:
print(item)
输出结果将是:
{'name': 'Alice', 'city': 'New York'}
{'name': 'Bob', 'city': 'San Francisco'}
{'name': 'Charlie', 'city': 'London'}
{'name': 'David', 'city': 'Paris'}
在上面的示例中,我们首先定义了一个Person
类来表示对象,然后创建了一个示例对象列表persons
。然后,我们定义了要检索的字段列表fields
。
使用列表推导式和字典解析,我们遍历了persons
列表,并使用getattr()
函数获取每个对象的字段值。然后,我们将字段名和字段值作为键值对添加到字典中。最后,我们将所有字典组成的列表作为结果。
通过这种方法,您可以轻松按照字段列表检索对象列表,并获得所需的字段值。
上一篇:按照字段列表对数组进行排序