使用lambda和hasattr过滤嵌套属性上的对象数组可以通过以下步骤实现:
下面是一个示例代码,演示如何使用lambda和hasattr过滤嵌套属性上的对象数组:
# 定义一个示例的对象数组
objects = [
{'name': 'John', 'age': 25, 'address': {'city': 'New York', 'country': 'USA'}},
{'name': 'Alice', 'age': 30, 'address': {'city': 'London', 'country': 'UK'}},
{'name': 'Bob', 'age': 35, 'address': {'city': 'Paris', 'country': 'France'}}
]
# 定义一个lambda函数来过滤具有指定属性的对象
filter_func = lambda obj: hasattr(obj['address'], 'city')
# 使用filter函数应用lambda函数并过滤对象数组
filtered_objects = filter(filter_func, objects)
# 打印过滤后的对象数组
for obj in filtered_objects:
print(obj)
在上面的示例代码中,我们定义了一个示例的对象数组objects
,其中每个对象都有一个嵌套的address
属性。然后,我们定义了一个lambda函数filter_func
,它检查对象的address
属性是否具有city
属性。最后,我们使用filter函数应用lambda函数并过滤对象数组,将满足条件的对象存储在filtered_objects
中,并打印出来。
这种方法可以用于过滤任何嵌套属性上的对象数组,只需根据实际情况修改lambda函数中的属性名称即可。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云