假设我们有一个包含嵌套对象的列表,每个对象都有一个键值对的属性。我们想要过滤出符合特定条件的对象。以下是一个示例代码:
# 定义一个包含嵌套对象的列表
data = [
{
"name": "John",
"age": 30,
"address": {
"city": "New York",
"state": "NY"
}
},
{
"name": "Alice",
"age": 25,
"address": {
"city": "San Francisco",
"state": "CA"
}
},
{
"name": "Bob",
"age": 35,
"address": {
"city": "New York",
"state": "NY"
}
}
]
# 定义一个过滤条件函数
def filter_by_state(obj):
return obj["address"]["state"] == "NY"
# 使用列表推导式过滤符合条件的对象
filtered_data = [obj for obj in data if filter_by_state(obj)]
# 打印过滤结果
for obj in filtered_data:
print(obj)
上述代码中,我们定义了一个包含嵌套对象的列表data
。然后,我们定义了一个过滤条件函数filter_by_state
,它接受一个对象作为参数,并返回一个布尔值,指示对象是否符合条件(在这里是检查对象的address
属性中的state
键是否为"NY")。然后,我们使用列表推导式在data
列表中过滤出符合条件的对象,并将结果存储在filtered_data
列表中。最后,我们遍历filtered_data
列表,并打印每个对象。
下一篇:按嵌套对象值对数组进行排序